[笔记]linux下和windows下的 创建线程函数

linux下和windows下的 创建线程函数

 1 #ifdef __GNUC__
 2 //Linux
 3 #include <pthread.h>
 4 #define CreateThreadEx(tid,threadFun,args) pthread_create(tid, 0, threadFun, args)
 5 #define CloseHandle(ph)
 6
 7 int pthread_create(
 8   //指向线程标识符的指针。
 9   pthread_t *restrict tidp,
10   //设置线程属性。传入NULL表示使用默认。
11   const pthread_attr_t *restrict_attr,
12   //新线程所执行的线程函数地址。
13   void*(*start_rtn)(void*),
14   //传给线程函数的参数。
15   void *restrict arg
16 );
17 #else
18 //windows
19 #include <process.h>
20 #define CreateThreadEx(tid,threadFun,args) _beginthreadex(tid, 0, threadFun, args, 0, NULL)
21
22 HANDLE WINAPI _beginthreadex(
23   //线程内核对象的安全属性,一般传入NULL表示使用默认设置。
24   LPSECURITY_ATTRIBUTES lpThreadAttributes,
25   //线程栈空间大小。传入0表示使用默认大小(1MB)。
26   SIZE_T dwStackSize,
27   //新线程所执行的线程函数地址,多个线程可以使用同一个函数地址。
28   LPTHREAD_START_ROUTINE lpStartAddress,
29   //传给线程函数的参数。
30   LPVOID lpParameter,
31   //指定额外的标志来控制线程的创建,为0表示线程创建之后立即就可以进行调度,如果为CREATE_SUSPENDED则表示线程创建后暂停运行,这样它就无法调度,直到调用ResumeThread()。
32   DWORD dwCreationFlags,
33   //返回线程的ID号,传入NULL表示不需要返回该线程ID号。
34   LPDWORD lpThreadId
35 );
36 #endif
时间: 2024-10-19 01:47:09

[笔记]linux下和windows下的 创建线程函数的相关文章

回车和换行在linux下和windows下

今天,我总算搞清楚"回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别了. 1.  在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符.要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失. 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符.一个叫做&q

tar.xz如何解压:linux和windows下tar.xz解压命令介绍

在linux下怎么解压和压缩tar.xz文件? (本文由www.169it.com搜集整理) 在linux下解压tar.xz文件步骤 1 2 # xz -d ***.tar.xz  //先解压xz # tar -xvf  ***.tar //再解压tar tar.xz压缩包也是打包后再压缩,外面是xz压缩方式,里层是tar打包方式. 在linux下创建tar.xz文件步骤 1 2 # tar cvf xxx.tar xxx  // 这样创建xxx.tar文件先, # xz -z xxx.tar 

从Docker在Linux和Windows下的区别简单理解Docker的层次结构

上篇文章我们成功在Windows下安装了Docker,输出了一个简单的Hello World程序.本文中我们将利用Docker已有的云端镜像training/webapp来发布一个简单Python的Web程序,在浏览器中输出hello world. 本文内容的测试环境是Windows7下的Docker,用例基于官方文档用例.   一:从运行一个简单的Python Web程序说起 启动Docker客户端并登陆.在客户端中输入以下内容: $ sudo docker run -d -P trainin

Linux和Windows下ping命令详解

转:http://linux.chinaitlab.com/command/829332.html 一.Linux下的ping参数 用途 发送一个回送信号请求给网络主机. 语法 ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ \ -R ] [ -a addr_family ] [ -c Count ] [ -w timeout ] [ -f | -i \ Wait ] [ -l Preload ] [ -p Pattern ] [ -s PacketS

centos6.4 *64 Linux挂载windows下共享文件夹

centos6.4 *64 Linux挂载windows下共享文件夹 mount //192.168.1.21 /mnt/pub 结果无法正常挂载,提示以下错误,开始以为是因为windows下共享文件夹是ntfs格式的问题,下了一个ntfs-3g,依旧无效,后来发现是少了组件包cifs-utils [[email protected] ~]# mount //192.168.1.25/pub /mnt/pubmount: wrong fs type, bad option, bad superb

在Windows下如何创建指定的虚拟环境

前几天给大家分享了如何在默认的情况下创建虚拟环境,没来得及上车的伙伴,可以戳这篇文章:在Windows下如何创建虚拟环境(默认情况下).今天小编给大家分享一下,如何创建的指定的Python环境. 创建虚拟环境,需要用到virtualenv库,上一篇文章已经提及到了,在此就不再赘述了.小编电脑上默认的Python解释器是Python3版本,那么现在想要创建一个Python2版本的虚拟环境,具体的方法如下.(PS:首先要保证,你已经安装了Python2和Python3,不会安装Python的小伙伴可

Tomcat日志文件的输出在Linux和Windows下的差异

前言 最近老大发现Tomcat的日志文件catalina.out里存在着大量的和公司项目相关的log信息,因为一般都是会使用日志框架并另外将log信息输出到另外的文件里的,catalina.out文件里就不需要这些多余的log信息了. 不过我在测试的时候发现,Linux和Windows下catalina.out文件的输出是有区别的. 在Linux和Windows下的差异 在Windows平台下,所有System.out, System.err以及printStackTrace()输出的log信息

windows下的getopt/getoptlong函数

windows下的getopt/getoptlong函数 getopt/getopt_long函数是GNU C中的函数,在linux编程中很常用到.这里就不介绍了. windows下没有找到类似的函数,自己写一个又浪费时间,于是乎从glibc中找出来. 这里放出两个版本的下载地址 http://files.cnblogs.com/files/oloroso/getopt--from-glibc-2.15.tar.gz http://files.cnblogs.com/files/oloroso/

windows下进程与线程剖析

进程与线程的解析 进程:一个正在运行的程序的实例,由两部分组成: 1.一个内核对象,操作系统用它来管理进程.内核对象也是系统保存进程统计信息的地方. 2.一个地址空间,其中包含所有可执行文件或DLL模块的代码和数据.此外,它还包含动态内存分配,比如线程堆栈和堆的分配. 进程要做任何事情,都必须让一个线程在它的上下文中运行.该线程负责执行进程地址空间包含的代码.事实上,一个进程可以有多个线程,所有线程都在进程的地 址空间中"同时"执行代码.为此,每个线程都有它自己的一组CPU寄存器和它自