我有一个应用程序,每个x秒轮询一些设备, 我的实现基于每个设备的一个线程。永不结束主题vs任务
每个线程以这种方式
while(true){
stopWatch.Start();
//dowork
stopWatch.Stop();
time = (int)(delay - stopWatch.ElapsedMilliseconds);
stopWatch.Reset();
sleep(time);
}
现在是正确的做法还是应该实现定时器火灾每×秒,并创建一个新的任务来实现?
PS:每个设备都有轮询代码
使用定时器IMO。然而,你不需要创建新的任务,我不会想到。只需在回调方法中编写代码即可。 –
我应该使用N个计时器,其中N =设备的编号 – VeNoMiS
如果工作时间超过延迟时间,您将睡眠消极时间.....计时器对您会更好。 – Mzf