Multithreading 如何在Swift中创建volatile boolean?
我想在后台执行一些任务,并添加取消任务的功能 比如:Multithreading 如何在Swift中创建volatile boolean?,multithreading,swift,atomic,Multithreading,Swift,Atomic,我想在后台执行一些任务,并添加取消任务的功能 比如: while !isCanceled && someOtherCondition() { doSome() } 并从另一个线程取消任务: func cancel() { isCanceled = true } 在Java中,我可以声明isCancelled volatile,这就足够了。我怎样才能用Swift做到这一点呢?似乎这就是你的答案: 斯威夫特还没有一个定义良好的记忆模型,所以没有 C的挥发性的直接等
while !isCanceled && someOtherCondition() {
doSome()
}
并从另一个线程取消任务:
func cancel() {
isCanceled = true
}
在Java中,我可以声明isCancelled volatile,这就足够了。我怎样才能用Swift做到这一点呢?似乎这就是你的答案: 斯威夫特还没有一个定义良好的记忆模型,所以没有 C的挥发性的直接等价物。话虽如此,C没有一个 在C11之前都有定义良好的内存模型,所以可以走很长的路 没有
可能是相关的。这里也可能是对Q的注释:为什么不使用委托?请注意<代码> Value不意味着“代码>原子< /代码>,不应该假设在C或C++中赋予线程安全性,而应该使用SWIFT尚未实现的实际语言水平。“任务”,你不使用的原因是什么?