原子性

Atomic 是一个轻量级的 属性包装器,保证了对使用 @Atomic 属性装饰的属性进行线程安全访问。

用法

class Task {
    @Atomic var title: String

    init(title: String) {
        $title = Atomic(title)
    }
}

let task = Task(title: "Buy groceries")

DispatchQueue.global().async { task.title = "Buy flowers" }
DispatchQueue.global().async { task.title = "Clean kitchen" }

安装

Swift 包管理器

要将 Atomic 与 Swift 包管理器一起使用,请将依赖项添加到你的 Package.swift 文件中

let package = Package(
    dependencies: [
        .package(url: "https://github.com/shareup/atomic.git", .upToNextMajor(from: "1.0.0"))
    ]
)

目前不支持 Linux