在学习.NET 4.5时,我得到的结论是System.Threading.Tasks.Task.Delay(1000).Wait()
(即阻塞延迟)优于System.Threading.Thread.Sleep(1000)
。这是真的,如果是这样,为什么?是不是因为.NET行进命令一直“尽可能使用最新技术”?
答案 0 :(得分:3)
Thread.Sleep(1000)
是首选,因为它是执行同步等待的惯用方法。它已成为15年的标准。它没有任何问题。
Task.Delay(1000).Wait()
做同样的事情。它更难理解,输入速度更慢,执行速度更慢,而且在我看来,是向后思考。
如果要进行同步操作,请调用为此创建的同步API。睡觉在这方面并不特别。