如何杀死/停止后台线程?

时间:2010-11-10 22:16:01

标签: iphone iphone-sdk-3.0 ios4

所以我有一个执行循环的方法,因为我的程序工作方式我正在调用这个方法,

[self performSelectorInBackground:@selector(myMethod:) withObject:arg];

方法本身,

- (void)myMethod:(id)arg {
    //...

    for (//Loop Conditions) {
        if (stopMorse) {
            break;
        }
        //Do stuff
    }

    //...
}

现在我想允许用户停止运行这个循环,所以有没有办法杀死/停止线程。

我已经尝试添加BOOL,但问题是它似乎没有更新,因为它在一个单独的线程上。阻止此循环运行的最佳方法是什么?

1 个答案:

答案 0 :(得分:4)

您不应出于this answer to a similar questionthis answer to another similar question中列出的原因强行终止/停止该帖子。

应该可以像你一样检查一个布尔值,并且设置布尔值的另一个线程应该没有问题。你可以发布试图设置布尔值的代码吗?