Task.Delay 和 Thread.Sleep的区别
1.Thread.Sleep()是同步延迟,Task.Delay()是异步延迟。
2.Thread.Sleep()会阻塞线程,Task.Delay()不会。
3.Thread.Sleep()不能取消,Task.Delay()可以。搭配CancellationTokenSource
4.Task.Delay()实质创建一个运行给定时间的任务,Thread.Sleep()使当前线程休眠给定时间。
5.反编译Task.Delay(),基本上讲它就是个包裹在任务中的定时器。
总结:同步使用Thread.Sleep
异步使用Task.Delay,但是记得加等待 await

浙公网安备 33010602011771号