高效的数据库连接池 补充说明以及升级说明

本文是继4个月前发布的<如何编写出高效的数据库连接池(附带完整代码C#和Java实现) >的补充说明以及升级说明
该文章的地址为
:http://blog.csdn.net/ta8210/archive/2007/04/24/1582162.aspx

由于当时写文章有点匆忙所以遗漏了如何使用这个连接池的代码,在这里我先对大家说声对不起.另外本文还要介绍对4个月前写的连接池一个小的升级版本.在 1.0(4个月前发布的版本)

当前版本为1.2

由于个人机器原因1.0版本的C#代码已经不存在,目前个版本连接池代码存在情况如下:1.0(java),1.2(java,c#)

BUG:

现象:如果用户在启动服务之后就立即申请连接可能引发连接池资源以消尽的异常.
原因:这个异常的引发是因为,由于1.0版本中使用的是异步方式启动服务所以,在成功调用启动方法之后并不是表示连接池中就已经拥有了连接资源.所以当在用户启动服务之后立即就申请资源时由于创建线程还没有创建出连接所以在此时申请连接会引发该异常.

现象:在启动服务后立即停止服务,可能产生类似死锁的现象.
原因:
由于在启动服务之后,创建线程,检测线程随之启动,同时又终止了服务,这个时候创建线程检测线程刚刚要进入活动状态.这个时候就调用了停止服务,所以可能在调用停止方法时候使用到了同一个对象,而该对象恰恰是被同步保护的.故而产生死锁现象.

功能的新增:

1.增加了启动方法的同步调用.纠正了上述2个Bug.

另外提示使用者,由于连接池中的线程是前台线程,所以请确保在不使用连接池时调用连接池的销毁方法来完全释放资源.

2007-08-16 (赵永春)

 

2008-09-25日追加更新 SVN地址,在使用SVN时可能需要你输入帐号密码,请在svnhost中注册一个帐号在下载源码。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值