0

如果我将 System.Timers.Timer 的时间间隔设置为 .5 会发生什么?

这是我要添加的更多文本,所以愚蠢的过滤器会让我发布这个问题。

4

1 回答 1

3

通常,什么都没有。通常,Windows 中的计时器只能精确到特定的时间间隔,大约 15 毫秒。任何小于这个值的东西通常只会导致计时器每 14-15 毫秒左右触发一次。

话虽如此,该框架并非仅限于 Windows。在不同的实时操作系统上,您可能会让计时器比每毫秒一次更频繁地引发事件。框架 API 不假定您将处理非实时操作系统的限制,即使实际上(大多数情况下)确实如此。

请注意,在内部,它System.Timers.Timer实际上使用 aSystem.Threading.Timer来实现它,它使用Int32 来表示 period 和 dueTime。因此,Windows 版本不可能有非整数计时。框架Math.Ceiling在传递的时间间隔上使用,因此您将获得 1 毫秒的时间间隔。话虽这么说,这是一个实现细节,所以一般不会或应该依赖的东西。

于 2012-07-05T16:41:04.033 回答