Task.Delay() 和 Thread.Sleep() 區別

一、Thread.Sleep 是同步延遲,Task.Delay異步延遲。異步

二、Thread.Sleep 會阻塞線程,Task.Delay不會。線程

三、Thread.Sleep不能取消,Task.Delay能夠。資源

4. Task.Delay() 比 Thread.Sleep() 消耗更多的資源,可是Task.Delay()可用於爲方法返回Task類型;或者根據CancellationToken取消標記動態取消等待同步

5. Task.Delay() 實質建立一個運行給定時間的任務, Thread.Sleep() 使當前線程休眠給定時間。io

相關文章
相關標籤/搜索