在调用dispatch_sync()时,应用程序停止不一致

时间:2012-04-25 17:00:31

标签: objective-c cocoa grand-central-dispatch xmppframework

  

可能重复:
  App blocks while dipatching a queue

我正在使用XMPPFramework,在其代码中有一个这样的方法:

- (NSDictionary *)occupants
{
    if (dispatch_get_current_queue() == moduleQueue)
    {
        return occupants;
    }
    else
    {
        __block NSDictionary *result;

        dispatch_sync(moduleQueue, ^{//IT BLOCKS HERE
            result = [occupants copy];
        });

        return [result autorelease];
    }
}

它不稳定地卡在那里,并不总是;应用程序没有响应,但它没有崩溃,所以我暂停它,我看到线程(线程1)已经停止。如果按下播放,则没有任何变化。怎么了?有什么想法吗?

0 个答案:

没有答案