import Synchronization final class Foo { var value = 0 } nonisolated func main() async { let mutex = Mutex(Foo()) let foo = mutex.withLock { $0 } for _ in 0..<10000 { Task.detached { let foo = mutex.withLock { $0 } foo.value += 1 } } foo.value += 1 try? await Task.sleep(for: .milliseconds(10)) print(foo.value) } await main()