我有一個應用程序,每個x秒輪詢一些設備, 我的實現基於每個設備的一個線程。永不結束主題vs任務
每個線程以這種方式
while(true){
stopWatch.Start();
//dowork
stopWatch.Stop();
time = (int)(delay - stopWatch.ElapsedMilliseconds);
stopWatch.Reset();
sleep(time);
}
現在是正確的做法還是應該實現定時器火災每×秒,並創建一個新的任務來實現?
PS:每個設備都有輪詢代碼
使用定時器IMO。然而,你不需要創建新的任務,我不會想到。只需在回調方法中編寫代碼即可。 –
我應該使用N個計時器,其中N =設備的編號 – VeNoMiS
如果工作時間超過延遲時間,您將睡眠消極時間.....計時器對您會更好。 – Mzf