所以我想在CLI中使用GCD。來測試它我寫像這樣的代碼:斯威夫特CLI使用GCD
import Foundation
var i = 0
print("a: ",i)
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0)) {
for n in 1..<10{
i++
}
print("c: ",i)
dispatch_async(dispatch_get_main_queue()){
print("d: ",i)
}
}
print("b: ",i)
sleep(5)
print("e: ",i)
的這個輸出是: 一個:0 B:0 C:9 E:9
與最後一行打印幾秒鐘後。我想知道的是在d發生了什麼?我放入該塊的任何內容似乎都不會執行。當我在iOS中使用它時,這很好,只是不在CLI中。
之前打印終止執行(「d」,i)的機會來執行。添加到末尾代碼dispatch_main()中斷執行使用CMD-C – user3441734