如何在Swift中创建volatile布尔值?

时间:2016-01-08 23:28:20

标签: multithreading swift atomic

我想在后台执行一些任务并添加取消任务的功能。

类似的东西:

while !isCanceled && someOtherCondition() {
    doSome()
}

从另一个线程取消任务:

func cancel() {
    isCanceled = true
}

在Java中,我可以声明isCancelled volatile,这就足够了。我怎么能在Swift中做到这一点?

1 个答案:

答案 0 :(得分:2)

似乎这是你的答案:

  

Swift(还)没有明确定义的内存模型,所以没有   直接相当于C的易变性。话虽如此,C没有   定义良好的内存模型,直到C11,所以你可以走很长的路   没有人。

https://forums.developer.apple.com/thread/46256