论坛首页 Java企业应用论坛

连接池实现原理及效率上后的一点疑问

浏览 10298 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (10)
作者 正文
   发表时间:2011-08-01   最后修改:2011-08-03

第一次发帖

 

程序有很多问题,本人正在努力学习中

 

删掉主帖望谅解

 

也谢谢回帖的人

 

请不要扣我分,

   发表时间:2011-08-01  
学习了。好东西啊。
0 请登录后投票
   发表时间:2011-08-02  
自己先顶下,怎么没人和我讨论我们的疑问啊
0 请登录后投票
   发表时间:2011-08-02   最后修改:2011-08-02
vector的锁啊,另外,也没哪个操作系统支持5000个线程吧?线程越多,就需要越多的调度时间,当线程数达到某个临界点时效率应该会急剧下降的


另外,你这个实现必须调用returnConn才能归还连接,如果直接调用了Connection的close呢?!


所以,一般连接池的实现都会继承Connection类,重写close方法,在close里将其归还给容器。获取连接的时候返回的也是这个继承的Connection类
0 请登录后投票
   发表时间:2011-08-02  
当存活的连接够用的时候,你建再多条连接也是在那空闲。。主要是你查询太简单,消耗时间不长。。导致实际连接数基本稳定在一个数量中。
0 请登录后投票
   发表时间:2011-08-02  
freish 写道
vector的锁啊,另外,也没哪个操作系统支持5000个线程吧?线程越多,就需要越多的调度时间,当线程数达到某个临界点时效率应该会急剧下降的


另外,你这个实现必须调用returnConn才能归还连接,如果直接调用了Connection的close呢?!


所以,一般连接池的实现都会继承Connection类,重写close方法,在close里将其归还给容器。获取连接的时候返回的也是这个继承的Connection类


你的意思是vector的锁影响了这个效率?不太明白,能详细点么

你所谓的支持5000个线程是什么意思啊,我执行的时候的确可以正常执行啊

我为了省事所有没有去继承connection类,重写close方法,但是我在returnconnection()里面设计的是,当有等待连接,就不关闭,没有有等待连接就关闭大于最小连接数的连接,原理上市一样的吧

0 请登录后投票
   发表时间:2011-08-02  
可以将 T_USER 的数据量增加到 500w 试试。

建立连接时, 同时做增删改查四个操作 ....

(window xp 支持的线程最多 2000 个吧)
0 请登录后投票
   发表时间:2011-08-02  
zhxing 写道
当存活的连接够用的时候,你建再多条连接也是在那空闲。。主要是你查询太简单,消耗时间不长。。导致实际连接数基本稳定在一个数量中。

有些道理
可我测试过,有些线程是进入了等待状态啊,这样的话,应该是没有连接空闲啊
0 请登录后投票
   发表时间:2011-08-02  
陈修恒 写道
可以将 T_USER 的数据量增加到 500w 试试。

建立连接时, 同时做增删改查四个操作 ....

(window xp 支持的线程最多 2000 个吧)


可能是,在执行后面线程的时候前面的线程执行完了,你说的2000个应该是同时吧
0 请登录后投票
   发表时间:2011-08-02  
你在一台机器上测个什么劲。。。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics