在我的应用程序中,我必须在后台同时解压缩多个文件。哪个代码会在多个线程上并行执行compressedFiles数组:
for file in compressedFiles {
DispatchQueue.global(qos: .userInteractive).async {
let work = DispatchGroup()
work.enter()
file.decompress()
work.leave()
}
}
Run Code Online (Sandbox Code Playgroud)
或者:
DispatchQueue.global(qos: .userInteractive).async {
for file in compressedFiles {
let work = DispatchGroup()
work.enter()
file.decompress()
work.leave()
}
}
Run Code Online (Sandbox Code Playgroud)
另外,如果我想在其中一个文件解压过程完成后收到通知,如何利用 DispatchGroup 类?wait()和notify()放在哪里?
谢谢。