在iOS Swift中并行运行两个循环
在Swift编程语言中是否可以并行运行两个While循环。两个循环都是独立的,但都是繁重的过程在iOS Swift中并行运行两个循环,ios,swift,Ios,Swift,在Swift编程语言中是否可以并行运行两个While循环。两个循环都是独立的,但都是繁重的过程 是否可以一次运行两个循环是的,这是可能的。您只需在单独的线程上运行两个循环。 这是一般规则:如果要同时运行两个进程,必须分别运行它们 示例代码,您可以将其复制并粘贴到游乐场以查看其工作原理: //DispatchQueue(label: "com.app.queue1", qos: .background).async { DispatchQueue.global(qos: .background)
是否可以一次运行两个循环是的,这是可能的。您只需在单独的线程上运行两个循环。 这是一般规则:如果要同时运行两个进程,必须分别运行它们
示例代码,您可以将其复制并粘贴到游乐场以查看其工作原理:
//DispatchQueue(label: "com.app.queue1", qos: .background).async {
DispatchQueue.global(qos: .background).async {
while true {
print(1)
sleep(1)
}
}
//DispatchQueue(label: "com.app.queue2", qos: .background).async {
DispatchQueue.global(qos: .background).async {
while true {
print(2)
sleep(1)
}
}
。。。您也可以只使用主线程和一个背景。这取决于你需要什么。但是主要思想是一样的,你必须有独立的线程。你可以在两个独立的后台线程中调用它
DispatchQueue.global(qos: .background).async {
// function 1
}
DispatchQueue.global(qos: .background).async {
// function 2
}
由于这些是后台线程,如果您想执行,那么在主线程中执行一些操作,您必须切换到DispatchQueue.main.
如果要在两个单独的队列上运行它们,可以将它们设置为
let backgroundQueue = DispatchQueue(label: "loadQueueOne", qos: .background)
backgroundQueue.async {
// function 1
}
同样,您也可以为第二个队列创建另一个单独的队列。请您给出小的代码解释。顺便说一句,您并不能确保它们在不同的线程上运行。它们可能会在同一个队列和线程上运行。你的循环到底在做什么?Sulthan我想op只是想在后台运行两件事情,但我已经更新了答案。谢谢你指出这一点。:)这个解决方案是正确的,我只是在解释:)后台队列是并行的,因此它有可能在两个线程上执行,但你不能真正确定。是的。我非常感谢你的反馈。干杯。:)