首页新闻找找看学习计划

while(flag)卡死问题

0
[待解决问题]

我有一个全局变量flag默认是true。我有两个线程,一个里面有一个空的while循环while(flag){}里面什么代码都没有。另一个线程则是flag=false这么一段代码。有时候即使flag被设置为true了,while也没有退出来。好像卡死了一样。但是如果我在debug模式下出现卡死情况之后,给那里加个断点,突然又正常了。这是怎么回事?求助

时光灬之书的主页 时光灬之书 | 初学一级 | 园豆:28
提问于:2019-06-13 12:00
< >
分享
所有回答(6)
0

说错了。是即便被设置成false,也没有退出来

时光灬之书 | 园豆:28 (初学一级) | 2019-06-13 12:01
0

代码呢,我看看你线程怎么写的

小光 | 园豆:1820 (小虾三级) | 2019-06-13 14:19
0

可能是编译器优化了代码导致的问题。用Volatile修饰变量试试

会长 | 园豆:4927 (老鸟四级) | 2019-06-13 15:38
0

有可能是你量线程的触发动作有关系

猴子哥 | 园豆:627 (小虾三级) | 2019-06-13 16:37
0

while里面不要什么都不写,就算测试至少写个延时,delay,不然就会卡死

jqw2009 | 园豆:1831 (小虾三级) | 2019-06-14 08:57
0

show me you code

Jachs | 园豆:264 (菜鸟二级) | 2019-07-04 11:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册