请问如何阻塞线程啊
各位高手,我刚学vc所以可能描述问题不是很清楚。我想在一个线程中某个地方将他阻塞不向下运行,(但不是挂起因为我想要的是循环的效果)不能用sleep,while,而且在别的线程中随时能够解除阻塞(如按个按钮),使其能够向下执行。请问应该用什么方法呢。谢谢 问题点数:20、回复次数:2Top
1 楼pomelowu(羽战士)回复于 2006-07-03 13:57:58 得分 15
用Synchronization Objects就行了,比如用Event Object
先CreateEvent并且ResetEvent,然后在线程中调用WaitForSingleObject就能阻塞了。要想唤起线程,在别的线程中调用SetEvent就可以了。
楼主可以看看《Windows核心编程》或者看看MSDN中关于Synchronization的部分Top
2 楼yangyangqinqin()回复于 2006-07-04 10:24:41 得分 5
阻塞:
CEvent m_pEvtThread = new CEvent(FALSE, TRUE, NULL, NULL);
m_pEvtThread->ResetEvent();//初始化为无信号
m_pEvtThread->Lock(INFINITE);//阻塞
m_pEvtThread->SetEvent();//解除阻塞
Top




