我正在研究多线程应用程序(服务器),我曾经一次处理2000个客户端,我在每个线程中打开MySQL数据库的单独数据库连接。所以我启用了连接池。我搜索了许多块,在使用连接后我们应该关闭它然后它将返回池并将被其他线程使用。 另一方面,我们知道连接制作是一个耗时的过程。所以我的问题是为什么我们应该在连接池中关闭连接。什么是最好保持连接打开或关闭它们?
答案 0 :(得分:6)
我们知道连接制作是一个耗时的过程
正确 - 这就是我们有连接池的原因。他们保持联系,所以你不会创建新的。
我们为什么要在连接池中关闭连接
因此它们将返回池中以供其他线程使用。
连接是昂贵的资源,因此您希望尽快打开,使用和关闭它们,这样它们就会返回池并可供其他线程使用。
答案 1 :(得分:1)
当你'关闭'一个汇集的连接时;你说你完成了连接,池可以再次使用它。
呼叫关闭不会实际断开连接。池有自己的逻辑来确定连接何时被物理关闭。