先理解一下函数原型:

HANDLE WINAPI CreateThread(
_In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, // 指向SECURITY_ATTRIBUTES结构的指针,用于决定返回的handle是否可以被子进程继承。如果是NULL,则handle不能不继承。
_In_ SIZE_T dwStackSize, // 栈的初始大小(in bytes),如果这个参数是0,则新的线程使用默认大小。
_In_ LPTHREAD_START_ROUTINE lpStartAddress, // 指向线程要执行的函数的指针。这个指针代表线程的起始地址。
_In_opt_ LPVOID lpParameter, // 指向要传递给线程的参数。
_In_ DWORD dwCreationFlags, // 控制线程创建的一个标志位。 0 表示线程在创建后立即执行。
_Out_opt_ LPDWORD lpThreadId // 指向收到线程ID的变量的指针,如果这个参数是NULL,那么线程ID没有返回。
);

返回值
如果函数运行成功,则返回一个指向新线程的handle。
如果失败,返回值为NULL,可以用GetLastError 来获取详细的错误信息。

参考:

http://cboard.cprogramming.com/cplusplus-programming/54830-sending-arguments-function-using-createthread.html

https://msdn.microsoft.com/en-us/library/windows/desktop/ms682453(v=vs.85).aspx

A pointer to a SECURITY_ATTRIBUTES structure that determines whether the returned handle can be inherited by child processes. If lpThreadAttributes is NULL, the handle cannot be inherited.

(C++) CreateThread的更多相关文章

  1. C++ CreateThread 实例

    //ThreadBase.h#pragma once #include<windows.h> class CThreadBase { public: CThreadBase(void); ...

  2. VC++ AfxBeginThread 与 CreateThread 的区别

    简言之:AfxBeginThread是MFC的全局函数,是对CreateThread的封装.    CreateThread是Win32 API函数,前者最终要调到后者.具体说来,CreateThre ...

  3. C++的CreateThread实例

    function CreateThread(  lpThreadAttributes: Pointer;           {安全设置}  dwStackSize: DWORD;           ...

  4. 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别

    本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beg ...

  5. CreateThread和_BeginThread的区别

    1.程序: 程序构成: (1)源代码 (2)可执行的二进制代码 程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念.由操作系统加载其可执行的二进制代码,分配相应的数据结构:进程控制 ...

  6. CreateThread函数&&CString::GetBuffer函数

    对这个两个常见的windows下的函数学习了一下: //最简单的创建多线程实例 #include <stdio.h> #include <windows.h> //子线程函数 ...

  7. CreateThread函数&amp;&amp;CString::GetBuffer函数

    对这个两个常见的windows下的函数学习了一下: //最简单的创建多线程实例 #include <stdio.h> #include <windows.h> //子线程函数 ...

  8. CreateThread函数

    当使用CreateProcess调用时,系统将创建一个进程和一个主线程. CreateThread将在主线程的基础上创建一个新线程,大致做例如以下步骤: 1在内核对象中分配一个线程标识/句柄,可供管理 ...

  9. 多线程 AfxBeginThread 与 CreateThread 的区别

      简言之:  AfxBeginThread是MFC的全局函数,是对CreateThread的封装. CreateThread是Win32 API函数,前者最终要调到后者. 1>.具体说来,Cr ...

随机推荐

  1. TCP && UDP

    TCP(Transmission Control Protocol,传输控制协议) 是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接. TCP建立连接要进行3次握手,而断开连接要进行 ...

  2. CodeForces #369 div2 D Directed Roads DFS

    题目链接:D Directed Roads 题意:给出n个点和n条边,n条边一定都是从1~n点出发的有向边.这个图被认为是有环的,现在问你有多少个边的set,满足对这个set里的所有边恰好反转一次(方 ...

  3. C#微信公众号开发-高级接口-之模板消息开发,附源码

    个人觉得模板消息功能的增加对公众号的作用非常大,可以说是真正意义上的实现了所谓的轻app,商家可以通过模板消息给用户发送重要的信息,交易.预约.消费.邮件.物流等信息.之前我做过的系统通过邮件发送订单 ...

  4. 转: 我们为什么使用ORM?

    博客园在推广ORM方面的确做了很大的贡献,很多的程序员开始使用ORM,不用写SQL的喜悦让他们激动不已,可是好景不长,他们很快发现众多的烦恼一个接一个的出现了. 很遗憾,我并不打算在这篇文章中解决这些 ...

  5. 反向Ajax,实现服务器向客户端推送消息之 Comet

    基于 HTTP 长连接.无须在浏览器端安装插件的“服务器推”技术为“Comet”. 下面将介绍两种 Comet 应用的实现模型. 基于 AJAX 的长轮询(long-polling)方式 AJAX 的 ...

  6. 更换内核后重编virtualbox内核模块

    这些天编译了一个4.1.15内核,因此vb原来的模块就不能用了,因此要重新编译(当然,reinstall也可以,觉得大动干戈,不符合个人做事风格) 如果不重编运行会有如下错误提示: # virtual ...

  7. XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)

    目前在XCode上开发的iOS程序只能在模拟器Simulator中运行,如果要放到真机上测试,需要苹果官方认证的开发者账号,购买开发者证书iDP,99美金一年啊!!! 作为刚开始学习iOS编程的菜鸟, ...

  8. apply和call

    call和apply是定义在Function.prototype上的方法. 共同点:可以自由指定函数执行时内部this的指向 不同点:传参方式不同 call方法: 语法:call(thisObj,Ob ...

  9. CSS第二天总结 更多的选择符

    CSS的选择符非常多,今天继续总结后面的选择符 1.id和class选择符某些情况下我们用关系选择符或者伪类选择符无法选中一些元素时,我们可以给这些元素起 个名字或者分类,这就是id和class属性. ...

  10. linux命令:locate

    1.命令介绍: locate用来查找文件,它是在系统的数据库中查找,所以速度非常快. 2.命令格式: locate [选项] 模式         ---这里的模式是指正则表达式 3.命令参数: -e ...