在 Swift 中访问不同的成员线程是否安全



我有一个类

class Foo {
   var bar : Int
   var baz : Int
}

我有两个线程,它们都引用了此类的同一对象。但是,他们正在访问此类的不同成员

  • 线程 1 正在读取和写入栏。
  • 线程 2 是读取和写入 baz。

这个线程安全吗?

我的假设是,因为这两个成员是不同的对象。但是,我想仔细检查一下(考虑到我仍然有限的 Swift 知识)。

是的,如果一个线程与一个属互,另一个线程与另一个属互,而你实际上没有与两个属互的东西,那么你可能没问题。

诚然,这感觉像是一个低内聚解决方案(这两个属性真的应该是同一类的属性吗?此外,它似乎有点脆弱(取决于与此对象交互的其他对象尊重线程完整性的划分),但从技术上讲它可以工作。

如果您能给我们一个实际的、真实世界的例子,说明您打算如何使用它,我们也许能够提供更具体的建议。

最新更新