Как остановить выполнение потока в iphone - PullRequest
1 голос
/ 21 ноября 2011

Я хочу остановить выполнение потока. Я использовал "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 ]

3 голосов
/ 21 ноября 2011

Я почти уверен, что [myThread cancel] предназначен для сигнализации другого потока в вашей программе для отмены.

Если вы хотите отменить текущий поток, просто наберите [NSThread exit];

2 голосов
/ 21 ноября 2011

используйте это в своей теме, чтобы остановить себя -

[NSThread exit];

Вы также можете использовать cancel метод, проверьте это - http://developer.apple.com/library/ios/#documentation/cocoa/reference/foundation/Classes/NSThread_Class/Reference/Reference.html

...