ios - 在 iOS 中暂停事件的后台线程

标签 ios objective-c multithreading suspend

在特定情况下,当我的计时器被触发时,我想暂停所有事件的后台线程并注销应用程序。我如何实现这一目标?

最佳答案

您的后台线程需要检查它是否已被取消,或者通过 isCancelled 方法...

if ([[NSThread currentThread] isCancelled]) {
    // do cleanup here
    [NSThread exit];
}

您不能从外部终止线程,因为无法知道线程可能处于什么状态,因此终止它会产生不确定的行为。

关于ios - 在 iOS 中暂停事件的后台线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36765812/

相关文章:

objective-c - Objective-C - UITableViewCell 异步加载图像

objective-c - 从 fwrite 参数获取数据数组的内容 - 使用 Objective-C 打印数据

c# - 在多线程中调用静态方法

ios - 使用可变参数调用 Objective-C 初始化器

ios - 为什么 UIViewController touchesBegan、touchesMoved 和 touchesEnded 仅在两个触摸中的第一个开始、移动或结束时才被调用?

objective-c - NSArray排序问题,首字母缩写词首先被排序

objective-c - 变量不是类的静态成员

ios - 如何增加包含 UIStackView 的 UIView 高度

java - 选择特定对象背后是否有理由?

java - 您如何在不卡住GUI的情况下等待Java中的线程完成?