找出这个包装器为什么不能让 increment() 成为原子操作。
swift
@propertyWrapper
final class Atomic<Value> {
private var value: Value
private let lock = NSLock()
var wrappedValue: Value {
get { lock.withLock { value } }
set { lock.withLock { value = newValue } }
}
init(wrappedValue: Value) { value = wrappedValue }
}
final class Counter {
@Atomic var count = 0
func increment() {
count += 1
}
}