gpt4 book ai didi

ios - 接收返回的后台线程最终会自行关闭吗?

转载 作者:行者123 更新时间:2023-11-29 03:28:52 25 4
gpt4 key购买 nike

看起来,如果当您点击主页按钮时后台线程正在运行,那么事情会被挂起,然后在重新打开应用程序时恢复。我只是希望按下主页按钮时停止,以便在恢复时用户可以从头开始。经过一些研究后,看起来定期检查一个简单的 bool 标志是可行的方法。我的问题是之后的部分。我有使用一些通知(如 UIApplicationWillResignActiveNotification)的标志部分,但我的问题是采取什么行动来真正阻止事情。我可以做一个简单的返回来停止事情,但这对线程本身有何影响?作为一个一般问题,如果没有任何东西在运行,或者到达代码末尾,线程会自行关闭吗?或者是否需要某种显式的退出调用?在我的粗略测试中,该线程似乎消失了,但我不确定。

最佳答案

如果您有一个线程的入口点返回,您的线程将关闭。如果你安装一个运行循环,你的线程可能永远不会关闭,这取决于你的实现。在任何情况下,当应用程序进入后台时,主线程被允许完成当前的 runloop 运行,然后应用程序被挂起。所有其他线程也被挂起。一旦您的应用返回到前台,或者在某些情况下在后台被唤醒,您的线程将恢复工作,直到您结束入口点、暂停它或您的应用再次暂停。

当然,这是一种简化。在某些情况下,即使您提供的入口点返回,线程也会被重用。线程池、GCD 等就是这种情况。在这些情况下,一个线程可能看起来是活着的,但实际上它是挂起的,占用的资源很少。

关于ios - 接收返回的后台线程最终会自行关闭吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20082292/

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