当用户点击按钮时,我执行 15 个具有某些功能的后台任务:
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
dispatch_async(dispatch_get_global_queue(priority, 0)) {
myfunc()
}
所以我已经在我的手机上测试了这个,当我点击按钮几次时,我有很多线程并且手机滞后了一分钟...
那么我是否需要创建带有任务队列的数组,例如将线程数限制为 5 或 10,或者 swift 有这方面的标准工具?
最佳答案
感谢评论,这是可行的:
let backgroundQueue = NSOperationQueue()
backgroundQueue.maxConcurrentOperationCount = 5
for i in 0...100 {
backgroundQueue.addOperationWithBlock(){
self.somefunc()
}
}
关于ios - Swift 中的线程队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33775318/