我正在研究C#編程對語言的相當磨合。我想我認爲我對通常的面向對象編程有很好的理解,並且運行多線程意味着高層次的實現,但實際上我稱之爲scrub。如何爲C#中的類創建「後臺打印」服務
我正在做的是創建一個工具,它將有許多線程獨立運行並互相交互,每個線程都可以爲自己的任務服務並可以調用其他任務。
我的策略是確保通信(不會丟失同時發生於不同線程的多個更新),每個類都創建一個類似spool的任務,可以調用外部任務,並將任務添加到給定線程或spool服務對於這些。我不確定是否應該將它放在課程或外部,並讓課程本身將新卷軸稱爲新任務並跟蹤卷軸。在這裏,我特別考慮如果一個空線軸得到一個任務時,如何給這個班發信號(監聽者的方法,如果他們想要在新東西到達時喚醒,任務可以預訂池),或者「如果每隔X秒檢查一次的任務和下一個任務不計劃「方法
什麼是一個好的策略來創建這個,我應該創建在實際的類,或外部?實施過程中的關鍵區域是什麼?因爲「繁忙等待檢查」允許它僅用於添加新作業,並且在實際假脫機區域上刪除作業,而信號需要添加/刪除作業,而且還需要轉到睡眠狀態信號是關鍵的,並且如果關鍵區域已經進入,那麼突然增加對於要做什麼的閥芯的高要求,因爲這可能導致塊,導致其他塊和可能的不可預見的死鎖。
哇,我認爲這是一個非常開放式的問題。關於這種系統(大多數稱爲代理)有很多寫法 - 只是搜索基於代理的系統。 – Carsten
是啊,直接掉到深處,試圖不沉下去。感謝您的建議。我會仔細看看的。我所追求的是一種「模式」,可以幫助我以一種好的方法解決這個問題。一旦我找到正確的模式,搞清楚實際的執行情況就是樂趣的一半。 – Taoh
我不確定我是否理解你的所有問題,但[主動對象設計模式](http://en.wikipedia.org/wiki/Active_object)在這裏可能會有用。 – dtb