我只想确认我的推理,即从UI线程(主线程)使用主队列为完全无用的dispatch_sync。
更重要的是,异步也是无用的,但有一种幻觉,那就是它是有用的,因为它不会阻塞。
让我知道。
谢谢
发布于 2012-12-09 11:29:36
到同一队列的dispatch_sync不仅没有用,而且会锁定你的应用程序。dispatch_sync说“分派一些东西,但是在另一个队列响应之前不要继续处理这个队列”。如果“其他”队列(我们正在等待它完成分派的块)与“这个”队列(它被阻塞,直到另一个队列响应)是相同的,这显然是不可能发生的。你的应用程序将会冻结,等待它自己!
另一方面,dispatch_async到您当前所在的同一队列通常不是一个非常有用的构造,但至少它不会冻结。我见过一些笨拙的代码,它们使用dispatch_async本身作为一种方式来表示“一旦我完成了一系列操作,我就想做其他事情”。我很少看到在不能以另一种方式更优雅地完成它的情况下,它异步地分派给它自己,但我见过它。
https://stackoverflow.com/questions/13784248
复制相似问题