6

我正在开发多线程应用程序(服务器),我曾经一次处理 2000 个客户端,并且我在每个线程中打开 MySQL 数据库的单独数据库连接。所以我启用了连接池。我搜索了许多块,在使用连接后我们应该关闭它,然后它将返回池并被其他线程使用。另一方面,我们知道建立连接是一个耗时的过程。所以我的问题是为什么我们要在连接池中关闭连接。什么是更好的保持连接打开或关闭它们?

4

2 回答 2

6

我们知道建立连接是一个耗时的过程

正确 - 这就是我们有连接池的原因。它们保持连接,因此您无需创建新连接。

为什么我们要在连接池中关闭连接

因此它们被返回到池中以供其他线程使用。

连接是昂贵的资源,因此您希望尽快打开、使用和关闭它们,以便它们返回池中并可供其他线程使用。

于 2012-12-10T10:52:05.207 回答
1

当您“关闭”池中的连接时;您是说您已完成连接并且池可以再次使用它。

调用 Close 不会物理地断开连接。池有自己的逻辑来确定连接何时物理关闭。

于 2012-12-10T10:52:37.340 回答