System.Threading.Thread.Sleep(1000)vs. System.Threading.Tasks.Task.Delay(1000).Wait()

时间:2014-12-19 14:45:46

标签: .net .net-4.5

在学习.NET 4.5时,我得到的结论是System.Threading.Tasks.Task.Delay(1000).Wait()(即阻塞延迟)优于System.Threading.Thread.Sleep(1000)。这是真的,如果是这样,为什么?是不是因为.NET行进命令一直“尽可能使用最新技术”?

1 个答案:

答案 0 :(得分:3)

Thread.Sleep(1000)是首选,因为它是执行同步等待的惯用方法。它已成为15年的标准。它没有任何问题。

Task.Delay(1000).Wait()做同样的事情。它更难理解,输入速度更慢,执行速度更慢,而且在我看来,是向后思考。

如果要进行同步操作,请调用为此创建的同步API。睡觉在这方面并不特别。