并发 – dispatch_barrier_async等效于Swift 3
发布时间:2020-12-14 05:51:25 所属栏目:百科 来源:网络整理
导读:重构同事的代码,我正在寻找与swift 3相当的dispatch_barrier_async。有很多队列在玩,他的设计是只阻止这个队列,只有这个单一的操作。 // Swift 2.3func subscribe(subscriber: DaoDelegate) { dispatch_barrier_async(self.subscribers.q) { // NOTE: bar
重构同事的代码,我正在寻找与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中保持相同的功能,而不需要重构所有的队列类型?
async()方法有一个flags参数,它接受.barrier
选项: func subscribe(subscriber: DaoDelegate) { (self.subscribers.q).async(flags: .barrier) { //... } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- jQuery UI结合Ajax创建可定制的Web界面
- 关于flex得绑定 [bindable]
- TalkingData 接入Cocos2d-x项目,symbol(s) not found for
- xcode – 使用Libpq将iPhone App连接到PostgreSQL
- flex弹性盒布局
- c – Widget wag = * new Widget()
- Oracle Grid Infrastructure SCAN(单一客户访问名称)
- postgreSQL中where子句执行顺序 - 多个and从左到右依次执行
- xml配置方式实现action的所有方法的输入校验
- 如何打开扩展名为.DB 文件. 使用sqlite3 很方便