连接池问题
来源:7-2 C3P0连接池的使用
qq_心晴_29
2019-11-06 13:07:28
老师,这里连接池一个用户名和密码就可以创建多个连接吗?前面概述里讲的多个用户连接时,每个用户都创建连接是不合理的,不是很理解连接池之后为什么一个用户名和密码就可以创建多个连接,而不是一个用户名和密码创建一个连接?
1回答
同学你好。这里的“一个连接”是指“一个”Connection类的实例 的含义。
1、之前使用传统的JDBC的时候,我们需要获取连接,获取一次就占用了资源。必须要及时的释放才行。
如果不使用线程池,这一切都是靠线程自发的获取。在多线程并发的情况下,不同的线程需要不断的去创建Connection的实例,再将其释放。浪费大量的系统资源。
而使用连接池可以先创建好一些可以直接用的Connection对象,直接分配给线程。等到使用完,只需要再放回连接池中。就可以避免频繁的创建和释放连接了。
2、这些线程肯定都是使用的同一个用户名和密码去找MySQL服务获取的连接,但是并不是同一个呢。就像可以在开启一个cmd窗口连接mysql之后,再打开新的cmd窗口连接mysql呢~两个cmd中的mysql都是同一个mysql服务,但是可以分别做不同的操作哦~
如果解答了同学的疑问,望采纳~
祝学习愉快~
相似问题