当前位置: 首页 > 编程语言 > C#

我应该始终使用Task.Delay而不是Thread.Sleep吗?Share

时间:2023-04-10 21:29:27 C#

我应该总是使用Task.Delay而不是Thread.Sleep吗?我最近看到了一些建议,即永远不要在生产代码中使用Thread.Sleep(最近在这个SO问题中)。他们中的许多人提倡使用Task.Delay。我发现的大多数解释都以UI应用程序为例,因为Task.Delay的优势很明显(不会阻塞UI)。在我的例子中,我在等待循环中使用Thread.Sleep来轮询WCF服务的特定条件,如下所示:DateTimeend=DateTime.UtcNow+TimeSpan.FromMinutes(2);while(DateTime.UtcNow