Iphone 如何终止/停止后台线程?
我有一个执行循环的方法,由于我的程序的工作方式,我用Iphone 如何终止/停止后台线程?,iphone,iphone-sdk-3.0,ios4,Iphone,Iphone Sdk 3.0,Ios4,我有一个执行循环的方法,由于我的程序的工作方式,我用 [self performSelectorInBackground:@selector(myMethod:) withObject:arg]; 以及方法本身, - (void)myMethod:(id)arg { //... for (//Loop Conditions) { if (stopMorse) { break; } //Do stuff
[self performSelectorInBackground:@selector(myMethod:) withObject:arg];
以及方法本身,
- (void)myMethod:(id)arg {
//...
for (//Loop Conditions) {
if (stopMorse) {
break;
}
//Do stuff
}
//...
}
现在我想让用户停止这个循环的运行,所以有没有一种方法可以终止/停止线程
我尝试添加BOOL,但问题是它似乎没有得到更新,因为它位于单独的线程上。停止此循环运行的最佳方法是什么?您不应该出于和中概述的原因强制终止/停止线程
您应该可以在执行操作时检查布尔值,并且另一个线程设置布尔值时应该不会出现问题。您可以发布试图设置布尔值的代码吗?告诉我们在哪里声明了
BOOL stopmores
(全局、类实例等),并向我们显示您更改它的代码。感谢您的帮助。我能弄明白。正如您所说,当另一个线程设置布尔值时,可以对其进行检查。这只是我代码中的一个简单错误。