首页 > 解决方案 > 在 iOS Swift 中并行运行两个循环

问题描述

是否可以在 Swift 编程语言中并行运行两个 While 循环。两个循环都是独立的,但都是繁重的过程。

是否可以一次运行两个循环

标签: iosswift

解决方案


是的,这是可能的。您只需在不同的线程上运行两个循环。

这是一般规则:如果要同时运行两个进程,则必须分别运行它们。


您可以复制并粘贴到 Playground 以查看其工作原理的示例代码:

//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)
    }
}

...您也可以只使用主线程和一个背景。这取决于你需要什么。但主要思想是一样的,你必须有单独的线程。


推荐阅读