在控制檯應用程序中,我們該如何做一個System.Timers.Timer
在主線程中調用Elapsed事件的「簡單」問題?c# - System.Timers.Timer主線程上已經發生的事件
我讀過一些關於SyncronizingObject
屬性的內容,但是目前我還沒有嘗試實現一個實現ISyncronizeInvoke
接口的類。
編輯(澄清):
我試圖模擬一個典型的事件模型。我有一些代碼使用基於事件的方法監視某些設備的狀態。問題是一些設備不使用事件發送狀態,並要求應用程序輪詢數據。
找到的解決方案是使用計時器並輪詢設備。如果發現任何變化,那麼我們會提出類似的現有事件。
問題是遺留代碼遠離線程安全,並且適應它將是一個不小的任務。
也許有更好的方法。
爲什麼需要在主線程上執行?是否只是希望主線程等待,直到事件發生後? – Sacrilege
你的主線程在做什麼?WinFoems,WPF或可能是服務的一部分? –
它是服務的一部分。 – TiagoOliveira