即时通讯使用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];
}
}
[编辑]据块不一致,并非总是如此,因为应用程序没有做任何事情我暂停,我看到线程已经停在那里,它永远不会继续执行。 怎么了? 有任何想法吗?
谢谢