我有一定困難的設計方式我的代碼應該工作:方式適當在C#中使用線程工作
- 串行#1(隨時接收數據)調用程序()如果一些特定的接收值甲是>CONSTANT1,但只有當程序()沒有運行,否則只有最後調用將程序()結束
- 串行#2(在任何添接收數據後運行e)列出乙和Ç與所接收的數據
- 程序()檢查Ç>CONSTANT2並保存乙和Ç到文件
- 定時器(每N個秒)運行另一個例程,檢查保存的文件併發送電子郵件(在不影響例程(),同時保存B和C)
我現在的設計採用了對全局布爾的,但我認爲這是產生了一些問題(由於布爾檢查,並再次將其設置爲啓動「鎖定」程序)之間進行切換。
那麼,建議如何解決這樣的同步問題?鎖定(someGlobalObject)?,使用Monitor? (我如何放棄多個掛起的例程()調用?),Mutex?,Semaphore?
謝謝!