作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在阅读 Facebook 的精彩内容 AsyncDisplayKit 源代码。具体来说,我正在阅读 ASDealloc2MainObject 背后的实现。一件事引起了我的注意。
在_AS-objc-internal.h, line 423 to 424 ,程序员将一些任务分派(dispatch)到主队列。
dispatch_barrier_async_f(dispatch_get_main_queue(), self, \
_objc_deallocOnMainThreadHelper); \
与其他调度屏障函数一样,dispatch_barrier_async_f()
中的屏障逻辑仅在处理自定义并发队列时才有意义。对于全局并发队列和主队列,它的行为就像 dispatch_async_f()
一样,屏障无效。
那么为什么要在这里使用屏障呢?
最佳答案
在我看来这是个错误。充其量,他们试图发出意图信号并提醒程序员“嘿,这东西是串行的”,但这似乎很可疑。
关于ios - 主队列上的调度屏障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27425760/
我是一名优秀的程序员,十分优秀!