CreateThread函数原型
来源:互联网 发布:c语言中数组的定义 编辑:程序博客网 时间:2024/05/17 08:27
函数原型
MSDN中CreateThread原型:
?
1
2
3
4
5
6
7
8
HANDLE
CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,
// SD
SIZE_T
dwStackSize,
// initial stack size
LPTHREAD_START_ROUTINE lpStartAddress,
// thread function
LPVOID
lpParameter,
// thread argument
DWORD
dwCreationFlags,
// creation option
LPDWORD
lpThreadId
// thread identifier
);
参数说明
lpThreadAttributes:指向SECURITY_ATTRIBUTES型态的结构的指针。在Windows 98中忽略该参数。在Windows NT中,NULL使用默认安全性,不可以被子线程继承,否则需要定义一个结构体将它的bInheritHandle成员初始化为TRUE
dwStackSize,设置初始栈的大小,以字节为单位,如果为0,那么默认将使用与调用该函数的线程相同的栈空间大小。任何情况下,Windows根据需要动态延长堆栈的大小。
lpStartAddress,指向线程函数的指针,形式:@函数名,函数名称没有限制,但是必须以下列形式声明:
DWORD WINAPI 函数名 (LPVOID lpParam) ,格式不正确将无法调用成功。
//也可以直接调用void类型
//但lpStartAddress要这样通过LPTHREAD_START_ROUTINE转换如:(LPTHREAD_START_ROUTINE)MyVoid
//然后在线程声明为:
void MyVoid()
{
return;
}
lpParameter:向线程函数传递的参数,是一个指向结构的指针,不需传递参数时,为NULL。
dwCreationFlags :线程标志,可取值如下
(1)CREATE_SUSPENDED(0x00000004):创建一个挂起的线程,
(2)0:表示创建后立即激活。
(3)STACK_SIZE_PARAM_IS_A_RESERVATION(0x00010000):dwStackSize参数指定初始的保留堆栈的大小,否则,dwStackSize指定提交的大小。该标记值在Windows 2000/NT and Windows Me/98/95上不支持。
lpThreadId:保存新线程的id。
返回值:
函数成功,返回线程句柄;函数失败返回false。
若不想返回线程ID,设置值为NULL。
函数说明:
创建一个线程。
语法:
hThread = CreateThread (&security_attributes, dwStackSize, ThreadProc,pParam, dwFlags, &idThread) ;
一般并不推荐使用 CreateThread函数,而推荐使用RTL库里的System单元中定义的 BeginThread函数,因为这除了能创建一个线程和一个入口函数以外,还增加了几项保护措施。
在MFC程序中,应该调用AfxBeginThread函数,在Visual C++程序中应调用_beginthreadex函数。
0 0
- CreateThread函数原型
- CreateThread函数
- CreateThread函数
- CreateThread函数
- CreateThread函数
- CreateThread 函数
- CreateThread函数
- CreateThread函数
- CreateThread()函数
- CreateThread函数
- CreateThread函数使用
- createThread函数的使用
- CreateThread函数的用法
- CreateThread函数--创建线程
- 线程创建函数CreateThread
- CreateThread线程函数
- CreateThread线程函数
- CreateThread创建线程函数
- Linux Kernel Crash--hung_task_timeout_secs
- R语言介绍与安装
- jquery $(document).ready() 与window.onload的区别
- DBCC大全集之(适用版本MS SQLServer 2008 R2)---DBCC CHECKFILEGROUP检查当前数据库中指定文件组中的所有表和索引视图的分配和结构完整性
- arm-linux-gcc交叉编译环境的搭建
- CreateThread函数原型
- 代码中特殊的注释技术——TODO、FIXME和XXX的用处
- SIP PRACK
- Linux学习之——存储设备和分区标识及分区
- List for springRestful + openlayer
- DBCC大全集之(适用版本MS SQLServer 2008 R2)---DBCC CHECKFILEGROUP检查当前数据库中指定文件组中的所有表和索引视图的分配和结构完整性
- 关于android的JNI几点注意问题。
- 驱动开发之三:常用API简介
- GStreamer iOS教程4——一个基础的播放器