int main()
{
HANDLE hThread=CreateThread(NULL,0,fun,NULL,0,NULL);
if(hThread==NULL)
{
printf("err\n");
}
}
上述代码在main函数中创建一个子线程,线程创建是没有问题的,但是线程却没有运行。
解决方案:
线程创建后添加如下代码
WaitForSingleObject(hThread,INFINITE);
原因:main退出时会自动调用ExitProcess(),操作系统会终止所有运行的线程。
WaitForSingleObject的目的是保证main在子线程运行期间不返回。