我使用 XMPPFramework 并且在它的代码中有这样的方法:
- (NSDictionary *)occupants
{
if (dispatch_get_current_queue() == moduleQueue)
{
return occupants;
}
else
{
__block NSDictionary *result;
dispatch_sync(moduleQueue, ^{//IT BLOCKS HERE, WITHOUT MESSAGE
result = [occupants copy];
});
return [result autorelease];
}
}
[编辑] 它不一致地阻塞,并非总是如此,因为应用程序没有做任何事情我暂停它,我看到线程已经停止在那里,它永远不会继续执行。怎么了?有任何想法吗?
谢谢