문제

I looking to run a method periodically but would like to optimise my code by having it run in a separate thread. So far my code looks something like below:

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));

My question is, would this code simply start the timer or would the code (on TimerElapsed) run on the new Thread?

도움이 되었습니까?

해결책

System.Timers.Timer will run on a ThreadPool thread as long as you don't set the timer's SynchronizingObject.

So there's no need to start a dedicated thread. You need to pay attention though if you want to access GUI elements.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top