我刚刚阅读了这个答案(答案已被删除),我确信我已经看到应用程序在挂起后崩溃,所以我读到的内容是有道理的。
如果你阻塞主线程太久,操作系统会杀死你的应用程序。
但是我写了一些测试,发现它们都没有导致应用程序在每个等待大约 2-5 分钟后崩溃。断点确认我正在主线程上运行。
有人可以确认或反驳我读到的内容,还是我刚刚选择了很多非阻塞的选项?
如果我选择了非阻塞选项,有人可以解释为什么这些是非阻塞的吗?
while (true) { /*Nothing*/ }
while (true) { NSLog(@"nothing"); }
for(;;);
sleep(100000000);
while(true) { sleep(1); }