【发布时间】:2010-06-07 12:18:15
【问题描述】:
我正在使用间隔为 1 秒的计时器。 但是在我打印时间的计时器的滴答事件中,它始终是 62 或 65 毫秒。 我不明白为什么要多花 10 毫秒。
请有人调查一下。
这是我正在使用的代码:
static int _counter;
var _timer = new System.Timers.Timer(1000);
public Form1()
{
InitializeComponent();
_timer.Elapsed += new ElapsedEventHandler(_timer_Elapsed);
_timer.Start();
}
private void _timer_Elapsed(object sender, ElapsedEventArgs e)
{
Console.WriteLine(DateTime.Now.ToString("{hh:mm:ss.fff}"));
_counter++;
if (_counter == 20)
_timer.Stop();
}
这是输出:
{01:59:08.381}
{01:59:09.393}
{01:59:10.407}
{01:59:11.421}
{01:59:12.435}
{01:59:13.449}
{01:59:14.463}
{01:59:15.477}
{01:59:16.491}
{01:59:17.505}
{01:59:18.519}
{01:59:19.533}
{01:59:20.547}
{01:59:21.561}
{01:59:22.575}
{01:59:23.589}
{01:59:24.603}
{01:59:25.615}
{01:59:26.629}
{01:59:27.643}
【问题讨论】:
-
你的问题描述和例子不一致。该示例设置为 1 秒间隔,并且似乎显示 1 秒间隔,而不是 50 毫秒