我正在编写一个
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) }
感谢与之相关的Aaron Brager
Multiple workers in Swift Command Line Tool,
原文链接:https://www.f2er.com/swift/319100.htmlMultiple workers in Swift Command Line Tool,