我仍然是客观c和英语的新手,我想知道以下问题
我为某些东西创建了一个子线程,但它可能在某个地方被阻止。
所以我设置了一个10秒的计时器来杀死子线程,以防它被阻止。
问题是'如何'
PS:是否可以使用performSelector:onThread:withObject:waitUntilDone:对我来说。
答案 0 :(得分:5)
您应该尝试找出线程阻塞的原因,而不是仅仅因为一个完美的理由而杀死一个可能被阻塞的线程。如果它正在等待互斥锁或其他类型的锁定,那么找出为什么没有释放该锁定。可能是锁定的原因可能不是在线程本身,而是在代码的其他部分。
如果您刚刚终止该线程,您可能最终会阻塞其他线程,因为原因可能尚未解决。某种锁也可能处于未知状态,因此您在杀死它之后会面临其他问题。