您文中的:
只要是运行dispatch_sync的queue和运行dispatch_sync block的是同一个queue都会出现deadlock
这句话不太严谨 因为不仅是在同一个queue 而且这个queue 是 串行队列 才会 deadlock
我使用
dispatch_queue_t queue = dispatch_queue_create("lalla", DISPATCH_QUEUE_CONCURRENT);
for (int i = 0; i < 100000; i++) {
dispatch_async(queue, ^{
dispatch_sync(queue, ^{
NSLog(@"死不死");
});
});
}
这段代码 测试了 只有当queue 是 串行才会死锁 并行时没有发生. 如有问题 请指正 谢谢.
iOS开发 之 Queue和Thread目录 GCDdispatch_syncdispatch_async queueserial-queue和concurrent-queuemain-queueglobal-qu...
目录 GCDdispatch_syncdispatch_async queueserial-queue和concurrent-queuemain-queueglobal-qu...
ABAC @诺之林 麻烦回复一下正确答案
iOS开发 之 Queue和Thread目录 GCDdispatch_syncdispatch_async queueserial-queue和concurrent-queuemain-queueglobal-qu...
Airdrop分享功能实现 UIActivityViewController类提供了内置的AirDrop功能,在应用中整合Airdrop只需要几行代码即可完成该功能。 以上代...
Cocoapods 重装 2017先奉上我遇到的Cocoapods错误,如图0-1 相信大家也遇到过相同的错误,我一般的解决方法是 1 ,pod install 2 ,pod update 3,pod upd...
什么是持续集成 持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括...
前言 这里是一篇新手教程,环境是Xcode7+OpenGL ES 2.0,目标写一个OpenGL ES的hello world。OpenGL ES系列教程在这里[https:...