MFC/C++如何安全中断一个线程

在多线程中有个while循环,比如while(m_bStop),当我在外部线程中改变m_bStop值的时候,多线程中的循环怎么不跳出... 在多线程中有个while循环,比如while(m_bStop),当我在外部线程中改变m_bStop值的时候,多线程中的循环怎么不跳出 展开
 我来答
zhuhuaizhong
2013-05-10 · TA获得超过7276个赞
知道大有可为答主
回答量:3978
采纳率:63%
帮助的人:3602万
展开全部
确认真的是同一个 m_bStop 且正确被赋值了吗?自己在 while 里打印下m_bStop试试

一般线程里的控制变量都是来自主线程的或者全局变量。
更多追问追答
追问
确定以及肯定m_bStop以及重新赋值了,在while循环里面已经写了,如果变了会有提示,但没变。
追答
你不会把逻辑搞错了吧,把 m_bStop 赋值为 TRUE 认为就可以退出了,那 while 应该是 while(!m_bStop) 才对。
龚炜林
2013-05-10 · TA获得超过1560个赞
知道大有可为答主
回答量:1102
采纳率:66%
帮助的人:580万
展开全部
要在多个线程使用m_bStop,请限制它为volatile类型
volatile BOOL m_bStop;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yb0319
2013-05-10 · TA获得超过188个赞
知道小有建树答主
回答量:590
采纳率:0%
帮助的人:284万
展开全部
m_bStop必须是全局变量,才能在线程外改变它的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式