您的位置:首页 > 产品设计 > UI/UE

dispatch_get_main_queue 的同步异步问题

2013-03-23 18:41 316 查看
dispatch_sync(dispatch_get_main_queue(), ^(){

NSLog(@"222");

});

在ios中是无法使用 dispatch_sync(dispatch_get_main_queue()

原因如下:

在ios使用 dispatch_sync(dispatch_get_main_queue()^(){block体});

dispath向主队列加一个同步的block;

此时主队列在等待 dispatch_sync(dispatch_get_main_queue()^(){block体});执行

dispatch_sync在等待主队列执行完毕。

造成死锁。

所以在ios使用主队列 dispatch_get_main_queue() 时 应该使用异步执行

dispatch_async(dispatch_get_main_queue(), ^(){

NSLog(@"222");

});

原文链接:http://www.software8.co/caozuoxt/ios/3512.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐