gpt4 book ai didi

ios - 线程阻塞 Objective-C

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:34 25 4
gpt4 key购买 nike

我刚刚阅读 this answer (答案已被删除)而且我确信我已经看到应用程序在挂起后崩溃,所以我读到的内容是有道理的。

If you block the main thread for too long the OS will kill your app.


但是我写了一些测试,发现在每次等待大约 2-5 分钟后,没有一个导致应用程序崩溃。断点确认我正在主线程 上运行。

  • 有人可以证实或反驳我读到的内容,还是我只是选择了很多非阻塞的选项?

  • 如果我选择了非阻塞选项,有人可以解释为什么这些选项是非阻塞的吗?


while (true) { /*Nothing*/ }

while (true) { NSLog(@"nothing"); }

for(;;);

sleep(100000000);

while(true) { sleep(1); }

最佳答案

iOS 只有在某些 UIApplicationDelegate 方法(例如 application:didFinishLaunchingWithOptions:applicationDidEnterBackground:)中花费的时间过长时,才会终止您的应用。您通常有 5 秒的时间返回,尽管这对于您的应用程序的调试版本没有强制要求。

在这些方法之外阻塞主线程不会导致您的应用程序终止。

关于ios - 线程阻塞 Objective-C ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11017190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com