在Sierra下测试我的代码时,我发现先前处理并发队列的方法不再有效.
在分析我的C代码库中的错误时,其中一个用户提出了一个解决方法,该方法涉及显式命名队列声明的目标(请参阅此文章:C++11 app that uses dispatch_apply not working under Mac OS Sierra),这似乎解决了问题.
在Swift 3中,下面的代码将用于同时执行一个闭包,但它在上面的帖子中展示了一个类似的C例:
import Foundation import GameKit dispatchQueue.concurrentPerform(iterations: 1000) { index in let pauseTime = GKRandomSource.sharedRandom().nextInt(upperBound: 5) sleep(UInt32(pauseTime)) print(index) }
…但是,当我执行它时,它会串行运行每个块,索引按数字顺序输出.