![]() |
1
8
我不明白“我不能使用串行队列或屏障,因为队列只会阻止单个队列访问共享资源,而不会阻止其他队列。”使用队列是解决这个问题的标准方法。
通过这种结构,可以
但这种构造对于系统框架可能以最小争用率在随机线程上回调的问题非常有用。它很容易实现,也很容易正确使用。如果你有一个更复杂的问题,你必须为这个问题设计一个解决方案。 编辑:我很久没想过这个答案了,但布伦南的评论让我重新注意到了这个问题。因为我在原始代码中有一个bug,我的原始答案是可以的,但是如果你修复了这个bug,它是不好的。(如果你想看到我的原始代码使用了一个屏障,请查看编辑历史记录,我不想把它放在这里,因为人们会复制它。)我已将其更改为使用标准串行队列而不是并发队列。
|
![]() |
Tom · SwiftUI.sheet导致背景白色闪烁 4 月前 |
![]() |
Danil · 种子/填充核心数据的最佳实践?[关闭] 4 月前 |
![]() |
Robin · LazyVGrid项目预计不会击中测试区域 4 月前 |
![]() |
Saurabh Saini · 结构下标 4 月前 |
![]() |
Alex Smith · 移动到下一个视图控制器后如何显示警报? 5 月前 |