C++用CreateThread创建线程与判断线程超时

代码如下

Int a=0;  
DWORD ThreadID;  
HANDLE hThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTE)fun,&a,0,&ThreadID)
if(WAIT_TIMEOUT==WaitForSngleObject(hMutex,60000))  //超时时间60秒
{
   cout<<"fun线程超时"<<endl;
   //......
   //......
}


CreateThread参数说明

第一个参数:表示线程内核对象的安全属性,一般传入NULL表示使用默认设置

第二个参数:表示栈空间大小0表示使用默认大小(1MB

第三个参数:表示新线程所执行的线程函数地址,多个线程可以使用同一个函数地址

第四个参数:a为传给线程函数的参数

第五个参数:指定额外的标志来控制线程的创建,这里0表示线程创建之后立即就可以进行调度,如果为CREATE_SUSPENDED则表示线程创建后暂停运行,这样它就无法调度,直到调用Resume Thread()

第六个参数:返回线程的IDNULL表示不需要返回该线程的ID

猜你喜欢

转载自blog.csdn.net/feiyang5260/article/details/81026656
今日推荐