0
在特定的情况下,当我的计时器被触发时,我想暂停所有活动后台线程并注销应用程序。我如何实现这一目标?暂停iOS中的活动后台线程
在特定的情况下,当我的计时器被触发时,我想暂停所有活动后台线程并注销应用程序。我如何实现这一目标?暂停iOS中的活动后台线程
你的后台线程需要检查,看它是否已被取消,或者通过isCancelled
方法...
if ([[NSThread currentThread] isCancelled]) {
// do cleanup here
[NSThread exit];
}
,因为没有办法知道你不能杀线程外部线程可能处于什么状态,因此,杀死它会产生不确定的行为。
我已经使用NSThread分离。 – Jeyanthu
然后,我认为你应该在线程函数中添加类似while(true){if(shouldEnd){return;}}的逻辑。 shouldEnd变量应该像互斥体那样读取,以保护多线程 – user3349433