备案域名购买

老域名出售,已备案域名查询,老域名注册,已备案域名交易,买老域名,二手老域名,出售老域名,上饶网站建设

主页 > 建站教程 > 实现简单的连接池

实现简单的连接池

2014-8-15 12:0:13|作者:zhushican|分类: 建站教程|浏览数:

数据库连接并不是池管理方式的唯一资源。对于那些初始化要付出昂贵代价的资源(例如,套接字和线程)来说,池管理方式可以获得显著的性能好处。因为用池管理资源(而不是数据库连接)有很多好处,所以,这里讨论的池连接是用一个基类实现的,它可以集中控制任何类型对象以及数据库连接类的扩展。

GetResource通过调用getFirstAvailableResource从可用资源表中获取资源。如果资源可用,getFirstAvailableResource将用abstract isResourceValid方法检查资源的有效性。资源是否有效取决于资源的类型。例如,如果在某段时间内没有使用数据库连接,该连接就会过期。如果某个资源无效,就从可用资源表中清除掉它,getFirstAvailableResource就重新调用自己,搜索有效资源。如果没有可用资源,getResource就创建一个,将它加入到正在使用的资源列表中,并返回它。

将资源从正在使用的资源表中清除,然后将它添加到可用资源表中,recycleResource通过这种方式来使资源可用。这就是ResourcePool类的工作方式。下面是几个注意事项。首先,ResourcePool线程是安全的,因为它的所有类成员都是final,当迭代器对向量迭代时,如果修改该向量,将引发异常。其次,可用资源和正在使用的资源对ResourcePool子类可用。这就使得ResourcePool子类可以分配资源的初始缓存。第三,如果在创建资源时出错,则CreateResource和getResource会引发ResourceException异常。

TAG标签:实现  简单  连接池  

文章评论

最新评论

回顶部