Рефакторинг кода коллеги, и я ищу эквивалент dispatch_barrier_async
в swift 3. В игре много очередей, и его дизайн заключается в блокировке только этой очереди и только для этой отдельной операции.
// 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 без рефакторинга всех типов очередей?