读书人

请教高手们主线程中的一个死循环怎

发布时间: 2012-03-31 13:13:26 作者: rapoo

请问高手们,主线程中的一个死循环,如何用子线程去终止它,我建立是一个MFC 对话框程序
研究了一天,不知道那个到底怎么处理,

[解决办法]
可以用一个全局变量来判断吧
[解决办法]
ExitThread函数
[解决办法]
线程一般是
while(bRun)
{
}

可以通过bRun控制线程的结束
[解决办法]

探讨

线程一般是
while(bRun)
{
}

可以通过bRun控制线程的结束

[解决办法]
只要线程函数退出了,线程也就退出了。
在线程函数中,必要的话要多次判断bool变量的值,特别是执行比较耗时的代码段时更要多次判断。
当然如果线程中需要互斥处理,有可能产生死锁,从而导致程序卡死。
[解决办法]
一般的做法是:定义一个线程类,把线程函数放在该类中,当然是将之作为静态成员函数;在该类中定义一个bool变量,对外暴露一个接口,以供修改该变量值,退出线程函数。
[解决办法]
正常的逻辑:主线程退出之前要先退出子线程。
[解决办法]
MFC程序中,主线程是界面线程,你有什么目的要让界面线程死循环?

一般都是建工作线程,然后达到什么什么目的再发消息给主线程,主线程进行相应的界面更新或者终止线程等。

读书人网 >VC/MFC

热点推荐