swift 变量值修改和观察者的执行可能会被中间打断吗?

在某个类的定义中,有

    var numberOfEdits = 0
    var value: String = "" {
    didSet {
        numberOfEdits++
    }
    }

有没有可能在value修改后numberEdits还没来得及增加就有其他线程访问它的值而得到逻辑上不一致的值?

阅读 2.9k
1 个回答

从这段程序看,numberOfEdits只是一个简单的int,不是任何原子类型,所以race condition是有可能发生的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进