在Swift中,可以使用GCD(Grand Central Dispatch)來實現多線程和并行計算。下面是一個簡單的示例代碼:
import Foundation
// 創建一個并行隊列
let concurrentQueue = DispatchQueue(label: "com.example.concurrent", attributes: .concurrent)
// 在并行隊列中執行多個任務
concurrentQueue.async {
for i in 0..<10 {
print("Task 1: \(i)")
}
}
concurrentQueue.async {
for i in 0..<10 {
print("Task 2: \(i)")
}
}
// 創建一個串行隊列
let serialQueue = DispatchQueue(label: "com.example.serial")
// 在串行隊列中執行多個任務
serialQueue.async {
for i in 0..<10 {
print("Task 3: \(i)")
}
}
serialQueue.async {
for i in 0..<10 {
print("Task 4: \(i)")
}
}
在上面的示例中,我們首先創建了一個并行隊列和一個串行隊列。然后,在并行隊列中使用async
方法來并行執行兩個任務,而在串行隊列中使用async
方法來串行執行兩個任務。
需要注意的是,并行隊列可以同時執行多個任務,而串行隊列只能依次執行任務。通過合理地使用并行隊列和串行隊列,可以實現多線程和并行計算。