ParallelSwift 1.5.0

ParallelSwift 1.5.0

Jari Kalinainen 维护。



  • 作者:
  • Jari Kalinainen

ParallelSwift

简化方法并行执行的工具包。具有三种不同的执行模式。还提供了可选的超时以防止应用锁定,以及可选的随机排序队列的可能性。纯 Swift 实现。请参见 Test 文件夹中的示例代码。

安装

您可以通过 CocoaPods 安装 ParallelSwift。要安装它,只需将以下行添加到您的 Podfile 中

pod 'ParallelSwift'

(或将 ParallelSwift 文件夹添加到您的项目中)

模式

所有

执行闭包在所有阶段闭包完成后执行。

all

任何

执行闭包在第一个阶段闭包完成后执行。

any

执行闭包在阶段开始后立即执行。

none

用法

使用 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文件以获取更多信息。