【发布时间】:2016-06-28 19:13:37
【问题描述】:
重构一个同事的代码,我正在寻找swift 3中的dispatch_barrier_async的等价物。有很多队列在起作用,他的设计是只阻塞这个队列,并且只针对这个单一的操作。
// Swift 2.3
func subscribe(subscriber: DaoDelegate) {
dispatch_barrier_async(self.subscribers.q) { // NOTE: barrier, requires exclusive access for write
//...
}
}
// Swift 3
func subscribe(subscriber: DaoDelegate) {
(self.subscribers.q).async { // (Not equivalent, no barrier on the concurrent queue)
//...
}
}
我可以在不重构所有队列类型的情况下在 Swift 3 中保留相同的功能吗?
【问题讨论】:
标签: concurrency swift3