[devdiv精华转载] ios开发 如何结束一个NSThread线程

原帖地址:http://www.devdiv.com/forum.php?mod=viewthread&tid=29002&extra=page%3D1%26filter%3Dtypeid%26typeid%3D34%26typeid%3D34

 

如何结束一个NSThread线程

本人在主线程中通过 
NSThread *newThread = [[NSThread initWithTarget:self selector:@selector(MyThread:) object:timer]; 开始一个新线程

当满足条件时欲调用[newThread cancel]退出此线程,但发现线程并未退出,MyThread函数仍然在执行

该如何结束此线程

 

可以用isMultiThreaded和exit来解决这个问题。cancel还不是terminate

exit
Terminates the current thread.

+ (void)exit

Discussion
This method uses the currentThread class method to access the current thread. Before exiting the thread, this method posts the NSThreadWillExitNotification with the thread being exited to the default notification center. Because notifications are delivered synchronously, all observers of NSThreadWillExitNotification are guaranteed to receive the notification before the thread exits.

Invoking this method should be avoided as it does not give your thread a chance to clean up any resources it allocated during its execution.


注意的是调用这个之前要把你线程里面申请的内存释放掉。

posted on 2011-12-06 14:46  Evalon  阅读(1034)  评论(0)    收藏  举报

导航