一、线程的创建
CreateThread
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,
DWORD dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadId
);
lpThreadAttributes:指向SECURITY_ATTRIBUTES型态的结构的指针,这个参数通常设置为NULL 。用于内核对象跨进程。
dwStackSize:设置初始栈的大小,以字节为单位,如果为0,那么默认将使用与调用该函数的线程相同的栈空间大小。任何情况下,Windows根据需要动态延长堆栈的大小
lpStartAddress:回调函数,指向线程函数的指针,函数名称没有限制,但是必须以下列形式声明:DWORD WINAPI ThreadProc (LPVOID lpParam) ,格式不正确将无法调用成功
lpParameter: 向线程函数传递的参数,是一个指向结构的指针,不需传递参数时,为NULL
dwCreationFlags: 线程标志,可取值如下
(1)CREATE_SUSPENDED(0x00000004):创建一个挂起的线程,没有CPU资源。
(2)0:表示创建后立即激活。 <