我需要启动一个计时器并检查它是否已经过去了。例如,在我的功能开始时,我给出30秒,然后做一些事情,然后等到30秒过去。
对于当前的情况,我可以使用Timer
,它看起来像火箭筒(对象为我需要的东西提供了太多可能性)。我也可以拿一个Stopwatch
,检查它是否超过30秒。
然而,如果它存在的完美工具将更多地结合两者:将变量设置为30秒,然后在完成时属性为真/假。
我知道上面提到的工具有效,但出于解释的原因,我想知道是否有更好的工作?
答案 0 :(得分:13)
Stopwatch
。Timer
。await Task.Delay(x)
为您提供了这些工具;选择适合你工作的那个。
答案 1 :(得分:1)
一个合适的Timer
(在.NET BCL中有两个,仔细挑选)就好了。如果您有冒险精神,请尝试ThreadPool.RegisterWaitForSingleObject。