1
哪個線程被Swift的sleep:
方法阻塞?哪個線程會被睡眠阻塞:在swift中
let customConcurrentQueue = DispatchQueue(label: "CustomConcurrentQueue", attributes: .concurrent)
customConcurrentQueue.async {
sleep(5)
print("1")
}
print("2")
睡眠方法會阻塞主線程嗎?
那麼按照哪個順序執行'print'語句? '1 2'還是'2 1'? – LinusGeffarth
您的customConcurrentQueue中的塊將立即排隊,但顯然它不會窒息/阻塞其當前線程,因爲它是異步的。然後,立即打印「2」會發生,它會阻塞/阻塞當前隊列,直到它完成打印,並且在customConcurrentQueue打印「1」5秒鐘後,* sleep *發生在customConcurrentQueue上,而不是您寫的線程' customConcurrentQueue.async sleep(5) print(「1」) } print(「2」) ' – Honey