concurrency
是并发原语的集合,有助于提高可测试性
import Concurrency
// Create `DispatchQueueFactory` instance
let factory = DispatchQueueFactory()
// Build `main` queue from factory
let mainQueue = factory.main()
// Build `global` queue with QOS
let globalQueue = factory.global(qos: .background)
// Build `private` queue
let privateQueue = factory.privateQueue(label: String(describing: self),
qos: .background,
attributes: .concurrent,
autoreleaseFrequency: .inherit,
target: nil)
出于测试目的,您可以使用 TestConrurrency
目标。
import TestConcurrency
let testQueue = TestDispatchQueue()
// Run block immediately
testQueue.async {}
Swift Package Manager 是一个用于自动化 Swift 代码分发的工具,并已集成到 swift
编译器中。它尚处于早期开发阶段,但 concurrency
确实支持在受支持的平台上使用它。
一旦你设置好你的 Swift 包,将 concurrency
添加为依赖项就像将其添加到你的 Package.swift
的 dependencies
值中一样容易。
dependencies: [
.package(url: "https://github.com/space-code/concurrency.git", .upToNextMajor(from: "0.2.0"))
]
引导开发环境
make bootstrap
请随时帮助这个项目!如果你看到任何可以改进的地方或想要新功能,请打开一个 issue 或发送一个 Pull Request!
Nikita Vasilev, nv3212@gmail.com
concurrency 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。