如何杀死被阻止的线程

时间:2010-07-12 08:20:05

标签: iphone objective-c

我仍然是客观c和英语的新手,我想知道以下问题

我为某些东西创建了一个子线程,但它可能在某个地方被阻止。

所以我设置了一个10秒的计时器来杀死子线程,以防它被阻止。

问题是'如何'

PS:是否可以使用performSelector:onThread:withObject:waitUntilDone:对我来说。

1 个答案:

答案 0 :(得分:5)

您应该尝试找出线程阻塞的原因,而不是仅仅因为一个完美的理由而杀死一个可能被阻塞的线程。如果它正在等待互斥锁或其他类型的锁定,那么找出为什么没有释放该锁定。可能是锁定的原因可能不是在线程本身,而是在代码的其他部分。

如果您刚刚终止该线程,您可能最终会阻塞其他线程,因为原因可能尚未解决。某种锁也可能处于未知状态,因此您在杀死它之后会面临其他问题。