Task.Delay 和 Thread.Sleep的區(qū)別
1.Thread.Sleep()是同步延遲,Task.Delay()是異步延遲。
2.Thread.Sleep()會(huì)阻塞線程,Task.Delay()不會(huì)。
3.Thread.Sleep()不能取消,Task.Delay()可以。搭配CancellationTokenSource
4.Task.Delay()實(shí)質(zhì)創(chuàng)建一個(gè)運(yùn)行給定時(shí)間的任務(wù),Thread.Sleep()使當(dāng)前線程休眠給定時(shí)間。
5.反編譯Task.Delay(),基本上講它就是個(gè)包裹在任務(wù)中的定時(shí)器。
總結(jié):同步使用Thread.Sleep
異步使用Task.Delay,但是記得加等待 await

浙公網(wǎng)安備 33010602011771號(hào)