【发布时间】:2014-07-21 06:04:26
【问题描述】:
我正在尝试编写一个线程主体(例如myThread),它使用手动重置事件与父线程同步,例如g_myThreadEvent。
myThread 使用此事件通知父级它已成功检索输入参数。
我想知道父级是否可以重用相同的事件来指示myThread 退出。
下面几行:
孩子:
g_myThreadEvent = UNSIGNALLED.
myThread() {
read_inparam()
set(g_myThreadEvent);
for(;;) {
// do something important
if(is_reset(g_myThreadEvent)) break;
}
}
家长:
start_thread(){
CreateThread(myThread, some_arguments);
WaitForSingleobject(g_myThreadEvent, INFINITE);
}
stop_thread() {
reset(g_myThreadEvent);
}
这将使我能够使用单个事件来同步线程,而不是使用单独的事件来停止线程的更简单的解决方案。
【问题讨论】:
标签: c windows multithreading events