.Net System.Timers.Timer:如果我使用小于1ms的间隔会发生什么?
如果我将System.Timers.Timer的间隔设置为.5,会发生什么?.Net System.Timers.Timer:如果我使用小于1ms的间隔会发生什么?
这是我添加的一些更多文本,所以愚蠢的过滤器会让我发布这个问题。
通常,什么都没有。一般来说,Windows内的定时器只能精确到特定的时间间隔,大约15ms左右。小于此值的任何事情通常只会导致定时器每14-15ms左右触发一次。
这就是说,该框架不是纯Windows。在不同的实时操作系统上,您可能会比每一毫秒更频繁地使计时器更频繁地引发事件。框架API并不假定你将会处理非实时操作系统的局限性,尽管实际情况是这样(大多数时候)。
请注意,在内部,System.Timers.Timer
实际上使用System.Threading.Timer
作为其实现,它使用Int32 for period and dueTime。因此,Windows版本不可能有非整数时序。该框架在通过的间隔上使用Math.Ceiling
,因此您将获得1ms的间隔。这就是说,这是一个实现细节,所以不是一般应该依赖的东西。
很高兴知道。是否有任何实时操作系统支持.net框架? – ConditionRacer 2012-07-05 16:45:18
@Justin984 Windows CE,但我不知道框架实现是否与普通框架相同,这会将其视为1ms – 2012-07-05 16:46:39
谢谢你,你一直很有帮助... – ConditionRacer 2012-07-05 16:45:50
是否有你需要少于1ms的原因?你想要做电脑交易吗? – Limey 2012-07-05 18:09:53
我写软件来模拟“战争系统”..非常高速的战争系统。在不违反NDA的情况下不能再多说了。 – ConditionRacer 2012-07-05 21:07:36