如何停止当前运行的线程

时间:2012-10-22 07:27:45

标签: iphone nsthread

我在一个按钮上创建新线程单击其他按钮单击我想停止该线程如何实现它...

我用过

[NSThread exit];

但它冻结了我的用户界面.....

1 个答案:

答案 0 :(得分:1)

使用-[NSThread cancel]

- (无效)取消

       Changes the cancelled state of the receiver to indicate that it should exit.

通过-[NSThread isCancelled]

检查取消

退出

终止当前线程。

+ (void)exit

此方法使用currentThread类方法来访问当前线程。在退出线程之前,此方法将 NSThreadWillExitNotification 发布,并将退出的线程发送到默认通知中心。由于通知是同步传递的,所以 NSThreadWillExitNotification 的所有观察者都保证在线程退出之前收到通知。

应该避免调用此方法,因为它不会让您的线程有机会清除它在执行期间分配的任何资源。