我的应用有时会变成dead,并且调用堆栈如下所示,

更新:





我已经花了两天时间,但还无法应付。

我所拥有的是每个线程的上下文,以及一个特殊的串行队列的保留上下文。

我不知道的是僵局是怎么来的。 Why all the threads are in waiting states?只有一种可能性将不胜感激。

非常感谢。

最佳答案

在通知处理程序中进行操作时,有时会发生这种情况,这可能会导致发送其他通知,避免这种情况的最简单方法是将需要完成的工作分派出去。

dispatch_async(dispatch_get_current_queue(), ^{
    // The work that needs to be done...
});

关于iphone - 由于__psynch_mutexwait,UI无响应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16717337/

10-15 15:20