一尘不染

C#计时器是否在单独的线程上运行?

c#

System.Timers.Timer是否在与创建它的线程不同的线程上运行?

可以说我有一个带有计时器的类,该计时器每5秒触发一次。当计时器触发时,在经过的方法中,某些对象被修改。可以说,修改该对象需要很长时间,例如10秒。在这种情况下,是否可能会遇到线程冲突?


阅读 549

收藏
2020-05-19

共1个答案

一尘不染

对于 System.Timers.Timer

请参阅下面的Brian Gideon的答案

对于 System.Threading.Timer

MSDN关于计时器的文档指出:

System.Threading.Timer类 在ThreadPool线程上进行回调, 并且完全不使用事件模型。

因此,计时器确实在另一个线程上运行了。

2020-05-19