2012-12-10 113 views
6

我正在處理多線程應用程序(服務器),我一次處理2000個客戶端,並且我在每個線程中打開MySQL數據庫的單獨數據庫連接。所以我啓用了連接池。我搜索了很多塊,在使用連接之後,我們應該關閉它,然後它將返回到池並將被其他線程使用。另一方面,我們知道連接製作是一個耗時的過程。所以我的問題是爲什麼我們應該關閉連接池中的連接。什麼是最好保持連接打開或關閉它們?C#應該在連接池中保持打開連接

回答

6

我們知道,連接制定是一個耗時的過程

正確的 - 這就是爲什麼我們有連接池。他們保持聯繫,所以你不會創建新的聯繫。

我們爲什麼要關閉連接的連接池

因此,他們將返回到池被其他線程使用。

連接是昂貴的資源,因此您希望儘快打開,使用和關閉它們,以便它們將返回到池並可供其他線程使用。

+0

感謝您回答Oded。 –

1

當您'關閉'彙集的連接時;您說您已完成連接並且池可以再次使用它。

調用關閉不會在物理上斷開連接。池具有自己的邏輯來確定連接何時關閉。

+0

謝謝理查德我一直在想,關閉他們的時候身體關閉。但它不是那樣的。現在我清楚連接池:) –