首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自主线程的Dispatch_sync使用主线程的队列无用?

来自主线程的Dispatch_sync使用主线程的队列无用?
EN

Stack Overflow用户
提问于 2012-12-09 11:05:24
回答 1查看 586关注 0票数 1

我只想确认我的推理,即从UI线程(主线程)使用主队列为完全无用的dispatch_sync。

更重要的是,异步也是无用的,但有一种幻觉,那就是它是有用的,因为它不会阻塞。

让我知道。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-09 11:29:36

到同一队列的dispatch_sync不仅没有用,而且会锁定你的应用程序。dispatch_sync说“分派一些东西,但是在另一个队列响应之前不要继续处理这个队列”。如果“其他”队列(我们正在等待它完成分派的块)与“这个”队列(它被阻塞,直到另一个队列响应)是相同的,这显然是不可能发生的。你的应用程序将会冻结,等待它自己!

另一方面,dispatch_async到您当前所在的同一队列通常不是一个非常有用的构造,但至少它不会冻结。我见过一些笨拙的代码,它们使用dispatch_async本身作为一种方式来表示“一旦我完成了一系列操作,我就想做其他事情”。我很少看到在不能以另一种方式更优雅地完成它的情况下,它异步地分派给它自己,但我见过它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13784248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档