.net - 从任务中调用 Thread.Sleep

标签 .net c#-4.0 task-parallel-library delay thread-sleep

在任务中使用 Thread.Sleep() 是否正确。或者只是与任务一起使用的计时器(.Net 4.5 及更高版本中的 Task.Delay())?或者也许存在另一种方法。

最佳答案

您可以使用 Thread.Sleep一个任务里面。
但在大多数情况下,我更愿意使用 await Task.Delay这不会阻塞线程。

如果您使用的是 Task.Run (它使用 ThreadPool 线程),那么你应该尽量不要阻塞线程。由于它是共享线程,因此可能有其他代码等待运行。

我仍然会使用 Thread.Sleep(0)当我使用完线程后,让出处理器并放弃您的时间片。

关于.net - 从任务中调用 Thread.Sleep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20610721/

相关文章:

c# - 连接失败后 FtpWebRequest 不继续

c# - 在 WCF 服务中传递大量数据

.net - 电影数据库使用 SQL 或 NoSQL .net

c#-4.0 - HTML敏捷包/xpath通过[index]帮助选择子节点,好吗?

c# - 如何在 C# 中将字典的子集提取到另一个字典中?

c# - 并行任务与委托(delegate)

.net - Windows SDK 7.1 安装失败

javascript - 在复选框选中更改事件中使用 Javascript 中的母版页时无法调用函数

c# - 这是定期异步下载的好代码吗?

c# - 传入一个已经取消的 CancellationToken 导致 HttpClient 挂起