gpt4 book ai didi

ios - 多线程在swift ios中并行执行多个任务

转载 作者:可可西里 更新时间:2023-11-01 00:39:11 24 4
gpt4 key购买 nike

我知道队列的创建并能够执行单个任务,但我如何并行执行多个任务。

并发队列---->

let concurrentQueue = DispatchQueue(label: "com.some.concurrentQueue", attributes: .concurrent)
concurrentQueue.async {
//executable code

}

默认没有优先级的BackgroundQueue--->

DispatchQueue.global().async {
//executable code
}

具有优先级的后台队列---->

DispatchQueue.global(qos: .userInitiated).async { //.userInteractive .background .default .unspecified
//executable code
}

回到主队列---->

DispatchQueue.main.async {
//executable code
}

所有都是异步的,但我如何一次执行多个方法我应该如何快速编码。

最佳答案

如果你有一个调用方法的 for 循环方法并且你想并发调用这个方法,那么只需使用这个:

DispatchQueue.concurrentPerform(iterations: Int, execute: { (count) in
doSomethingFor(count: count)
}

但是如果你有一些你想并发调用的方法,就这样做:

let concurrentQueue = DispatchQueue(label: "com.some.concurrentQueue", attributes: .concurrent)

concurrentQueue.async {
//executable code
myFirstMethod()
}

concurrentQueue.async {
//executable code
mySecondMethod()
}

通过这种方式,concurrentQueue 将自己并发管理您的任务。

关于ios - 多线程在swift ios中并行执行多个任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50042458/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com