首先指出,线程与线程之间,是并列关系,不会存在"父子线程"的概念.
在Windows平台下,CreateThread函数包含在 Windows.h 文件内,包含此文件即可正常使用.
以下为CreateThread函数的声明:
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,//指向安全性属性描述结构体的
//指针,通常可以忽略的.
SIZE_T dwStackSize,//指定新线程初始的栈大小,若不关心,可以用0填充,来要求使用
//默认值
LPTHREAD_START_ROUTINE lpStartAddress,//用来充当线程的函数的指针.
LPVOID lpParameter,//要传递给函数的参数,这个值本身就是那个参数,而不是参数的地址
DWORD dwCreationFlags,//创建的方式,0表示正常,创建后立即开始运行
LPDWORD lpThreadId//用来接受函数反馈的线程ID的指针.
)
用来充当新的线程的函数格式:
DWORD WINAPI ThreadProc(LPVOID)
CreateThread函数若成功了,返回新线程的句柄,若失败了,则返回NULL.
若用CREATE_SUSPENDED填充dwCreation Flags则创建的线程先挂起来,并不直接开始运行,要用ResumeThread函数恢复线程,才能继续运行.
public void A(){(new Thread(new ThreadStart(A1))).Start()}
public void B()
{(new Thread(new ThreadStart(B1))).Start()}
public void A1()
{while(true) Thread.Sleep(10)}
public void B1()
{while(true) Thread.Sleep(10)}
main()
{
(new Thread(new ThreadStart(A))).Start()
(new Thread(new ThreadStart(B))).Start()
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)