我正在编写一个在终端中运行的 swift 脚本,该脚本将几个操作分派到后台线程。无需任何额外的努力,在我完成所有分派后,代码就到达了结尾...
我正在编写一个在终端中运行的 swift 脚本,该脚本将几个操作分派到后台线程。无需任何额外的努力,在我完成所有分派后,代码到达文件末尾并退出,同时终止我的后台操作。在我的后台操作完成之前,让 swift 脚本保持活动状态的最佳方法是什么?
我想到最好的办法如下,但我不认为这是最好的方法,甚至不是正确的方法。
var semaphores = [dispatch_semaphore_t]()
while x {
var semaphore = dispatch_semaphore_create(0)
semaphores.append(semaphore)
dispatch_background {
//do lengthy operation
dispatch_semaphore_signal(semaphore)
}
}
for semaphore in semaphores {
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER)
}