仍然是一个可可新秀,可可空循环衰竭
我有这个循环中,我的应用程序的后台线程执行:
while (preProcessed == FALSE){}
这猪线程的一两秒钟,而主线程任务完成(涉及webview - 因此需要主线程)。
它工作完美,该应用程序已提交给苹果,都很好。
现在,突然 - 它已停止工作。循环要么永远不会退出,要么永远不会开始,基本上应用程序只是静静地停留在这一点上。
即使我添加任意的动作,如
int idle_hands_etc = 0;
while (preProcessed == FALSE){ ++idle_hands_etc;}
没有任何反应..
但是,如果我打印的东西输出控制台:
while (preProcessed == FALSE){ printf(".");}
它完美。
我的问题是,到底发生了什么!其次,为了使其行为不同,发生了什么变化,因为它当然不是我的应用程序。
我怀疑编译器已经认识到这些语句*不会做任何事*并优化它们。 – trojanfoe
你确定,你还没有重新定义错误或预处理? –