你好,我有一個情況,實體的CustomerManager倉庫的客戶和供應商 我的目標是:C#如何實現這是由線程
- 倉庫是singletone並在運行時打開的DB。
- customerManager將客戶管理爲查詢倉庫並更新(在購買員工後)的主題。
- 當倉庫中的其中一個項目用完時,我們要求供應商以不同的線程爲我們提供供應商,而供應商做他的事情(讓我們假設它是5秒左右),客戶等待(在隊列中)並調用當供應商方法返回真(我們假設它返回true總是)..
所以我的問題是關於三樣東西:
設計 - 宜的CustomerManager內部保持他是倉庫ouse和顧客?它似乎是最好的靈魂,是否有人推薦,否則?(c#設計主題)
多少個線程可以一次去db?可以一個數據庫自己處理它,所以我不需要自己做?我應該爲他們保留SqlCommand(s)嗎?我應該使用數據集還是數據庫?換句話說有人可以告訴我該怎麼做嗎? 我應該爲10個線程做:
for (int i = 0 ; i < 10 ; i++) { SqlConnection sqlConnection = new SqlConnection(r_ConnectionString); sqlConnection.Open(); sqlConnection.Close(); }
...這樣的連接如游泳池將開放10個connectiones?
**數據庫ADO.NET **話題
- 應如何線程排隊等待?(爲了等待供應商的方法來喚醒他們)如何喚醒他們?有沒有在C#中的一個很好的解決方案? (c#線程主題)
我認爲這個問題太長了,但否則會超出上下文,所以我將不勝感激,如果你會在標題中寫下你想參考的問題。
謝謝。
所有的數據庫都被線程查詢:) – Woot4Moo 2010-11-11 23:43:26
@ Woot4Moo所以如果我知道我有10個線程,我應該做sqlConnection.Open()和sqlConnection.Close(); 10次,所以池會有10個連接? – 2010-11-11 23:52:43
這聽起來比嘗試從10個線程共享相同的SQL連接好得多... – 2010-11-12 00:03:01