|
1
11
不,默认情况下Swift属性不是原子属性,是的,您可能会遇到多线程问题,其中多个线程使用该属性的过时值,而该属性刚刚更新。 但在我们开始讨论之前,让我们看看原子的性质是什么。
现在在您的代码中,我们不是在讨论原子属性,因为
即使setter是原子的,我们最终也会遇到两个线程“同时”达到#1并尝试对相同的值进行操作的情况。
所以这里的问题应该是:是
现在回到实际代码,它是
尝试以下操作:取消注释
现在您将看到,锁定的版本会提供一致的结果,而非锁定的版本则不会。 |
|
|
Tom · SwiftUI.sheet导致背景白色闪烁 1 年前 |
|
|
Danil · 种子/填充核心数据的最佳实践?[关闭] 1 年前 |
|
|
Robin · LazyVGrid项目预计不会击中测试区域 1 年前 |
|
|
Saurabh Saini · 结构下标 1 年前 |
|
|
Alex Smith · 移动到下一个视图控制器后如何显示警报? 1 年前 |