ParallelSwift
简化方法并行执行的工具包。具有三种不同的执行模式。还提供了可选的超时以防止应用锁定,以及可选的随机排序队列的可能性。纯 Swift 实现。请参见 Test 文件夹中的示例代码。
安装
您可以通过 CocoaPods 安装 ParallelSwift。要安装它,只需将以下行添加到您的 Podfile 中
pod 'ParallelSwift'
(或将 ParallelSwift 文件夹添加到您的项目中)
模式
所有
执行闭包在所有阶段闭包完成后执行。
任何
执行闭包在第一个阶段闭包完成后执行。
无
执行闭包在阶段开始后立即执行。
用法
使用 addPhase
方法(逐个)或使用 addPhases
方法(作为数组)添加要执行的闭包。两种方法都接受一个参数,用于指定阶段是在主线程还是在后台线程(默认)执行。一旦调用 execute,所有阶段将同时启动(并行执行)。
方法会通过调用输入闭包的自己完成标记(例如示例中的 done
)。
执行完成闭包总是主线程中执行。请参阅模式。
let p = ParallelSwift()
p.addPhase { done in
print("1")
done()
}
p.addPhase { done in
print("2")
done()
}
p.addPhase(.main) { done in
print("3")
done()
}
p.execute(.all) {
print("all done")
}
参见测试以获取更多用例。
参数
timeout
:在调用执行完成之前经过若干秒,即使阶段仍在运行。默认:0(无超时)
shufflePhases
:如果为 true,则对阶段的操作队列中的顺序进行随机排序。默认:false
问题和贡献
如果您发现任何问题,请为此仓库打开一个问题。
欢迎通过拉取请求进行改进和/或修复。
作者
Jari Kalinainen, jari(a)klubitii.com
授权协议
ParallelSwift可在MIT授权协议下使用。查看LICENSE文件以获取更多信息。