【发布时间】:2013-08-01 18:26:27
【问题描述】:
我已经有一个运行特定工作的 System.Timers.Timer 的 Windows 服务。但是,我希望一些作品同时运行,但在不同的线程中。
我被告知要创建一个不同的 System.Timers.Timer 实例。它是否正确?这种方式可以并行运行吗?
例如:
System.Timers.Timer tmr1 = new System.Timers.Timer();
tmr1.Elapsed += new ElapsedEventHandler(DoWork1);
tmr1.Interval = 5000;
System.Timers.Timer tmr2 = new System.Timers.Timer();
tmr2.Elapsed += new ElapsedEventHandler(DoWork2);
tmr2.Interval = 5000;
tmr1 和 tmr2 是否会在不同的线程上运行,以便 DoWork1 和 DoWork2 可以同时运行,即同时运行?
谢谢!
【问题讨论】:
-
不,这不是同一个问题...
-
我已经编辑了问题...我的意思是多个 Timer 实例...
-
我撤回了我的近距离投票。
-
same time, but in different threads为什么?如果您使用一个计时器并在同一个计时器的经过事件中一个接一个地做这两个事情,这会不会有问题?即使 2 个计时器保证两个线程,也不能保证它们会运行at same time- 这将取决于线程调度。
标签: multithreading c#-4.0 .net-4.0 timer