如何在iphone中停止执行线程

时间:2011-11-21 11:31:01

标签: iphone ios multithreading nsthread

我想停止线程的执行。我使用了“iscancelled”,但是出现了问题。取消线程后,它的执行不会停止。

   NSLog(@"YES-------%d,%d", [myThread isExecuting], [myThread isCancelled]);//(OutPut--1,0)
   [myThread cancel];
if([[NSThread currentThread] isCancelled]) 
     {
    [NSThread exit];
 }
   NSLog(@"YES-------%d,%d", [myThread isExecuting], [myThread isCancelled]);//(OutPut--1,1)

取消线程后如何执行不会停止????

谢谢,

2 个答案:

答案 0 :(得分:3)

我非常肯定[myThread cancel]是要在程序中发出 另一个 线程的信号以取消。

如果您想取消当前主题,请执行[NSThread exit];

答案 1 :(得分:2)

在你的线程中使用它来阻止自己 -

[NSThread exit];

您还可以使用cancel方法查看此内容 - http://developer.apple.com/library/ios/#documentation/cocoa/reference/foundation/Classes/NSThread_Class/Reference/Reference.html