HANDLE hThreadEvent;
int WorkThread(LPVOID lpParam)
... {
ResetEvent(hThreadEvent); //告诉主线程,Y等我干完了再继续运行
//do something
SetEvent(hThreadEvent); //告诉主线程,本线程好了,你Y继续吧
}
int main( int argc, char * argv[])
... {
hThreadEvent = CreateEvent(
NULL, // default security attributes
TRUE, // manual-reset event
TRUE, // initial state is signaled
NULL // object name
);
while(true)
...{
WaitForSingleObject(hThreadEvent,INFINITE); //询问线程,我需要等你不?
//
//do something
printf("线程没有事件发送过来,恩,我继续走下去");
//
}
return 0;
}