Swift 3中的dispatch_barrier_async等效项

简化:

重构一个同事的代码,我正在寻找与之等效的dispatch_barrier_asyncswift3。有很多队列在起作用,他的设计是仅阻塞此队列,并且仅针对此单个操作。

// 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中保持相同的功能而无需重构所有队列类型吗?

马丁·R:

async()方法具有flags接受.barrier选项参数

func subscribe(subscriber: DaoDelegate) {
  (self.subscribers.q).async(flags: .barrier) { 
    //...
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

GCD中的Dispatch_barrier_async和串行队列,它们之间有什么区别?

在Swift 3,Swift 4及更高版本中,我如何使用dispatch_sync,dispatch_async,dispatch_after等?

dispatch_barrier_async如何与目标队列交互?

如果没有ARC,我是否需要在dispatch_barrier_async中的Block_release dispatch_block_t

Swift中的NSLocalizedString等效项是什么?

Swift列举了Kotlin中的等效项

typedef 的 swift 等效项

从 Swift 5 类型 <Result> 转换为 Swift 3 等效项

什么是Swift3(Xcode8 beta 1)中的随机种子等效项

与Swift中的setObject等效

python中的Swift可选闭包等效项

Swift中objc的ʻUIViewController <MyProtocol>等效项是什么?

在Objective-C中,isEqualToString的Swift等效项是什么?

Swift 中 Java 的 Integer.reverseBytes() 的等效项是什么?

Swift REPL中Python的dir()和help()等效项

Swift 3.0中的dispatch_group_async函数

UICollectionViewCell 中的 Swift3 中心项

Swift 3 Dispatch Queue转换

Swift的-[NSObject description]等效项是什么?

MIN和MAX宏的Swift等效项

此 ActionScript 函数的 Swift 等效项

Swift中SQL的IN子句等效

来自函数的Swift dispatch_async

Swift:从dispatch_async内部返回结果

在Swift 3中,是否需要使用dispatch_once?

Swift 3中是否有等效的C ++ shared_ptr?

这将是Swift 3中addValueEventListener的等效命令

Swift中Java字节数组的等效项是什么?

Xamarin.iOS中Swift的URL结构的C#等效项是什么?