在任务中使用 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/