我希望定期运行一个方法,但希望通过在单独的线程中运行来优化我的代码。到目前为止,我的代码如下所示:
private System.Timers.Timer timerQuartSec = new System.Timers.Timer(250);
private Thread quarterSecThread;
timerQuartSec.Elapsed += new System.Timers.ElapsedEventHandler(someMethod);
quarterSecThread = new Thread(new ThreadStart(timerQuartSec.Start));
我的问题是,这段代码只是启动计时器还是代码(在TimerElapsed上)会在新线程上运行?
答案 0 :(得分:2)
System.Timers.Timer
, ThreadPool
就会在SynchronizingObject
主题上运行。
因此无需启动专用线程。如果要访问GUI元素,则需要注意。