什么时候使用Task.Delay,什么时候使用Thread.Sleep?

对于何时使用Task.Delay和Thread.Sleep是否有好的规则?

  • 具体来说,是否存在一个最小值才能使一个方法比另一个方法有效/有效?
  • 最后,由于Task.Delay导致在异步/等待状态机上进行上下文切换,因此使用它会产生开销吗?

回答:

使用Thread.Sleep时要阻止当前线程。

使用Task.Delay时,你想不阻塞当前线程的逻辑延迟。

对于这些方法,效率不应该是最重要的问题。它们在现实世界中的主要用途是作为I / O操作的重试计时器,其数量级为秒而不是毫秒。

以上是 什么时候使用Task.Delay,什么时候使用Thread.Sleep? 的全部内容, 来源链接: utcz.com/qa/427222.html

回到顶部