上在一分鐘C#項目工作 - 的什麼,我試圖做的是一個總體思路...C# - 多個生產者線程與單個消費者線程
用戶有符號的一個或多個組合,他們感興趣, 每個組合將符號數據下載到csv,解析它,然後運行一組關於數據的規則, 根據這些規則的結果生成警報 組合應該下載數據等,每當設置的時間間隔已經過去了
我打算讓每個投資組合都運行在它自己的線程上,那樣當間隔已經過去時,每個portfo lio可以繼續下載數據,同時解析和運行規則,而不是一個接一個。警報應該被推送到另一個包含警報隊列的線程(!)。當它收到警報時,會將它們發送給客戶端。
有點多,但是用C#去解決這個問題的最好方法是什麼? - 使用線程,或者像後臺工作者一樣,只需在單獨的線程上運行警報隊列?
任何意見是非常讚賞,新的一些這方面的東西,以便隨時告訴我,如果我完全錯了:)
是的,我正在看,或ConcurrentQueue持有警報消息 - 我猜這將運行在一個新的線程,每個組合將運行在它自己的線程以及只包含一個指向隊列的指針? – KingTravisG
可能有更多的OO-ish使用一個將alert作爲參數的抽象方法來創建'SendAlerts'類。然後,您可以對其進行子類化,以將BlockingCollection和線程實現爲私有成員。這很好地封裝了客戶端的警報,並允許您在稍後必要時輕鬆更改它。 –