在我的程序中,我需要同时在后台运行两个任务。为了实现这一点,我使用了以下并发队列:
let concurrentQueue = DispatchQueue(label: "concurrentQueue", qos: .utility, attributes: .concurrent)
concurrentQueue.async {
for i in 0 ..< 10{
print(i)
}
}
concurrentQueue.async {
for i in (0 ..< 10).reversed(){
print(i)
}
}
我需要的输出结果如下:
0
9
1
8
2
7
3
6
4
5
5
4
6
3
7
2
8
1
9
0
但我得到的是这样的:
我参考了以下教程,以便了解Swift 3中的并发队列:
https://www.appcoda.com/grand-central-dispatch/
有人能告诉我我的代码哪里出了问题吗?还是这个结果就是我应该得到的结果?是否有其他方法可以完成我的任务?任何帮助都将不胜感激。
usleep( arc4random() % 100000 )
。 - EricS