let dispatchGroup = dispatch_group_create()
let now = DISPATCH_TIME_NOW
for i in 0..<1000 {
dispatch_group_enter(dispatchGroup)
// Do some async tasks
let delay = dispatch_time(now, Int64(Double(i) * 0.1 * Double(NSEC_PER_SEC)))
dispatch_after(delay, dispatch_get_main_queue(), {
print(i)
dispatch_group_leave(dispatchGroup)
})
}
print 语句可以流畅地打印前 15-20 个数字,但是当i
变大时,print 语句打印的东西很慢。我里面有更复杂dispatch_after
的逻辑,我注意到处理非常缓慢,这就是我写这个测试的原因。
我可以配置缓冲区大小或其他属性吗?它似乎dispatch_get_main_queue()
不适用于更多数量的异步任务。
提前致谢!