尋找適合以下問題的良好設計(C#)。在此先感謝您的回覆!暫停/執行多線程程序中的一個線程(C#)
- 多線程程序
- 至少有兩個線程
- 第一個線程運行的所有
- 第二個線程需要從上午9點運行時 - 下午5時每個工作日,並暫停否則
我我已經嘗試過的想法和事情:
保持雙線程。對於需要在特定時間執行/暫停的應用程序,請使用Thread.Sleep。 問題:Thread.Sleep似乎根本不會暫停線程。線程繼續執行,就像Thread.Sleep不存在一樣。還沒有弄清楚爲什麼(評論歡迎)。 如果使用循環代替Thread.Sleep,則線程在循環時間過長(例如整夜)時不會喚醒。
添加第三個帶定時器的線程。這第三個線程喚起第二個線程的執行/暫停。
更好的主意?
你按小時支付線索,只是不想支付加班費嗎?這看起來像是一個設計問題,如果你需要某些特定時間運行的東西,你應該使用一個調度器。假期,閏日等?事情很容易由一個工作調度程序處理......出於好奇,這個線程是做什麼的,它只在工作時間運行? –
這聽起來像是[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。你能讓我們知道你的根本問題是什麼嗎? – Enigmativity
@RonBeyer哈哈我不會按小時付費。而第二個線程不需要在節假日運行。糾正我,如果我錯了,但工作時間表需要將線程變成可執行文件,對嗎?不確定這是否適用,因爲線程2在線程1運行時需要不斷地與線程1交談。 – o1o1o111