CreateThreadスレッドが正常に作成されてもスレッドは実行されません

439 ワード

int main()
{
	HANDLE hThread=CreateThread(NULL,0,fun,NULL,0,NULL);
	if(hThread==NULL)
	{
		printf("err
"); } }

上記のコードはmain関数にサブスレッドを作成し、スレッド作成は問題ありませんが、スレッドは実行されません.
ソリューション:
スレッド作成後に次のコードを追加
WaitForSingleObject(hThread,INFINITE);

理由:mainが終了すると自動的にExitProcess()が呼び出され、オペレーティングシステムは実行中のすべてのスレッドを終了します.WaitForSingleObjectの目的は、mainがサブスレッドの実行中に返されないことを保証することです.