2 echojiangyq echojiangyq 于 2014.01.09 16:15 提问

mfc 用事件通知线程退出

用事件通知线程退出与给while循环设置条件,有何区别,这种机制有何优势
例如:

while (TRUE){
... ... 
if (WaitForSingleObject(pCarMovJudge->m_hThreadExitEvent, 100) == WAIT_OBJECT_0)return ;            }


while (!interrupt)
{
... ...
}

2个回答

cuglifangzheng
cuglifangzheng   2014.01.09 22:43

1:事件的使用更加灵活。在等待信号的过程中,程序员可以设置任意的等待超时时间,等待过程中挂起线程,减少不必要消耗,等待超时则线程退出。
2:第二种方法没有上述的优点。尤其线程如果在检测某个条件时,其只有不遗余力的一刻不停的循环检测,显得非常死板且消耗CPU资源。

echojiangyq
echojiangyq 多谢 受教了~
大约 4 年之前 回复
oyljerry
oyljerry   Ds   Rxr 2015.01.11 12:42

事件event,可以跨进程。
变量一般是进程中线程之间通知

echojiangyq
echojiangyq 现在已经不搞windows了 不过谢谢你;)
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!