【发布时间】:2010-08-30 07:32:45
【问题描述】:
在我的应用程序中,有时我需要手动调用计时器。
我尝试了以下方法:
int originalInterval = t.Interval;
t.Interval = 0;
t.Interval = originalInterval;
但这并不一致。
我创建了一个新计时器,继承自 System.Timers.Timer,并公开了一个“Tick”方法 - 但问题是“Elapsed”事件随后同步触发。
当我使用新线程实现“Tick”时 - 结果再次不一致。
有没有更好的实现方式?
【问题讨论】:
-
在哪些方面结果不一致?
-
1.由于使用了 Thread.Start,而不是 ThreadPool.Queue(我不想使用...太丑了),线程被关闭 2. 当用户多次调用“Tick”时(在方法停止之前) -我希望它每次都等待第一次调用完成,然后才调用它
标签: c# asynchronous timer