暂停执行几秒钟的简单方法,不涉及Thread.Sleep

时间:2014-02-24 15:51:07

标签: c# asp.net

在asp.net c#中实现以下目标的最佳方式是什么,涉及Thread.Sleep()

while (runCriteria)
{
 ...
    run some code to display something
 ...
 wait for x seconds
}

我在线搜索过,一切似乎都使用了非常复杂的(至少对我而言)异步定时器事件等,这看起来有些过分。

3 个答案:

答案 0 :(得分:2)

如果您使用的是.NET 4.5异步代码,请考虑

await Task.Delay(delayTime);

See MSDN docs here

答案 1 :(得分:0)

创建一些共享资源,如互斥锁或信号量或监视器等,这些资源对于您的线程始终无法访问,并在超时时获取(等待)它。

答案 2 :(得分:0)

您可以使用Thread.SpinWait。它添加了nop指令,因此不会出现上下文切换。