jjzjj

concurrentPerform

全部标签

swift - 是否可以为 `DispatchQueue` 指定 `DispatchQueue.concurrentPerform` ?

dispatch_apply将调度队列作为参数,它允许您选择要在哪个队列上执行block。我的理解是,Swift中的DispatchQueue.concurrentPerform是用来代替dispatch_apply的。但是这个函数没有将调度队列作为参数。谷歌搜索后,我发现thisGCDtutorial其中有这段代码:let_=DispatchQueue.global(qos:.userInitiated)DispatchQueue.concurrentPerform(iterations:addresses.count){indexin//doworkhere}并解释:Thisimp

使用 DispatchQueue.concurrentPerform(迭代 :) no longer runs concurrently under Mac OS Sierra

在Sierra下测试我的代码时,我发现以前处理并发队列的方法不再有效。在分析我的C++代码库中的错误时,一位用户提出了一种变通方法,其中涉及为队列声明明确命名一个目标(请参阅这篇文章:C++11appthatusesdispatch_applynotworkingunderMacOSSierra),这似乎已经解决了问题。在Swift3中,以下代码将用于并发执行一个闭包,但它展示了一个类似于上面帖子中的C++示例:importFoundationimportGameKitDispatchQueue.concurrentPerform(iterations:1000){indexinlet