备案域名购买

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

主页 > 建站教程 > 功能强大的资源池

功能强大的资源池

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

ResourcePool是个简单的类它可以以多种有效的途径进行扩展,例如,限制资源数目,因为大量开放资源会降低性能。在已经达到资源的最大限制时,限制等待循环资源的时间。如果没有这个限制,线程将无限等待循环资源。在另一个线程中创建资源,以等待资源或循环资源。如果在创建新资源之前循环资源是可用的,就节省了时间。

如果没有可用资源,但还没有达到资源限制,getResource将等待可用资源,一旦有可用资源,getResource就试图通过重新调用自己来得到该资源。如果已经达到了最大资源限制,但没有可用资源,getResource等待再循环的资源,或者引发异常。ResourcePool类提供第二个getResource方法,它用超时表示当池满时资源池等待新资源的最大时间。这个超时参数是整型,以毫秒为单位。

WaitForResource方法启动创建新资源的线程。该线程是由可运行的ResourcePool实例本身构成。因此,当调用thread.start时,就调用池的run方法。Run方法调用createResource,它是通过子类实现的。该方法可能会引发ResourceException,但是,这个异常不能再被run重新引发,因为run是由没有throws子句的Runnable接口定义的。因为run不能重新引发该异常,所以,它将异常存储在类成员中,通知正在等待的线程发生一些事情,然后返回。随后,某个等待的线程将引发来自waitForAvailableResource的异常。

TAG标签:功能  强大  资源池  

文章评论

最新评论

回顶部