[英]DBCP connection pool connection spawning
请帮助我了解热点当多个线程尝试使用相同的连接时,DBCP可以工作吗?
每个线程都会产生一个新的连接吗? 在这种情况下,使用连接池将没有任何优势。
根据定义,JDBC Connection
是单线程的。 当一个线程从DataSource
(DBCP或任何其他实现)获得连接时,在释放该连接之前,其他任何线程都无法触摸该连接(关闭后,实际上会将连接放回池中)。
DBCP不会阻止从多个线程使用相同的连接。 但是,如果多个线程同时向DataSource
请求新的连接,它将创建所需数量的连接。 如果并发线程数超过允许产生的最大已配置连接数,则getConnection()
将阻塞或失败。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.