倒计时的最佳工具?

时间:2016-05-18 16:26:17

标签: c#

我需要启动一个计时器并检查它是否已经过去了。例如,在我的功能开始时,我给出30秒,然后做一些事情,然后等到30秒过去。

对于当前的情况,我可以使用Timer,它看起来像火箭筒(对象为我需要的东西提供了太多可能性)。我也可以拿一个Stopwatch,检查它是否超过30秒。

然而,如果它存在的完美工具将更多地结合两者:将变量设置为30秒,然后在完成时属性为真/假。

我知道上面提到的工具有效,但出于解释的原因,我想知道是否有更好的工作?

2 个答案:

答案 0 :(得分:13)

  • 要知道事情需要多长时间,请使用Stopwatch
  • 要在经过一段时间后触发事件,请使用Timer
  • 要在异步工作流程中引入延迟,请使用await Task.Delay(x)

为您提供了这些工具;选择适合你工作的那个。

答案 1 :(得分:1)

一个合适的Timer(在.NET BCL中有两个,仔细挑选)就好了。如果您有冒险精神,请尝试ThreadPool.RegisterWaitForSingleObject