使用NSThread
'sdetachNewThreadSelector:toTarget:withObject:
时,我发现如果用户在后台进程执行时尝试退出应用程序,线程将在应用程序正常终止之前完全完成其执行。
在这种情况下,这是我想要的行为,但我在 Apple 的文档中找不到任何表明这种情况永远存在的内容。我能找到的唯一相关信息如下,来自 Apple 的Threading Programming Guide:
重要提示:在应用程序退出时,分离的线程可以立即终止,但可连接的线程不能。在允许进程退出之前,必须加入每个可连接线程。因此,在线程正在执行不应中断的关键工作(例如将数据保存到磁盘)的情况下,可连接线程可能更可取。
因此,我知道分离线程可以在应用程序退出时终止,但它们会自动终止吗?或者,我是否总是可以安全地假设线程将在应用程序退出之前完成其执行?