CreatThread函数是用于创建一个线程,CreatThread函数原形及参数说明如下:
HANDLE CreatThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,
DWORD dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadld
),
参数说明:
pThreadAttributes 如果为NULL,该线程使用默认安全属性。如果希望所有子进程能够继承该线程对象的句柄,必须将他的bInheritHand成员初始化为True。
dwStackSize 设定线程堆栈的地址空间。如果非0,函数将所有的存储器保留并分配给线的程堆栈。
lpStartAddress 线程函数的地址。
lpParameter 传递给线程函数的参数。
dwCreationFlags 如果是0,线程创建后立即对它进行调度,如果是CREATE_SUSPENDED,系统对它进行初始化后暂停该线程的运行。
lpThreadld 用来存放系统分配给新线程的ID。
--------------------------------------------------------------------------------------------------------------------
创建一个多线程
- procedure TForm1.Button1Click(Sender: TObject);
- var
- hThread:Thandle;//定义一个句柄
- ThreadID:DWord;
- begin
- //创建线程,同时线程函数MyThreadfunc被调用
- hthread:=CreateThread(nil,0,@MyThreadfunc,nil,0,ThreadID);
- if hThread=0 then
- messagebox(Handle,'Didn’tCreateaThread',nil,MB_OK);
- end;