Java 并发对象池:Vibur Object Pool

分享到:
Vibur Object Pool 是个通用并发 Java 对象池,提供验证和非验证池。 它是完全是用标准Java concurrency utilities创建,不需要用到任何同步块或者方法,也不需要任何外部依赖。这对于高消耗的 Java 对象创建,类似数据库连接或者其他 socket 连接远程主机的池或者缓存池是个非常棒的选择。
HolderValidatingPoolService<SomeClass> pool = new ConcurrentHolderLinkedPool<SomeClass>(
new SomeClassFactory(), 10, 60, false);
//...
Holder<SomeClass> hObj = null;
try {
hObj = pool.tryTake(10, TimeUnit.SECONDS);
if (hObj == null) // i.e. no any object was available in the pool for 10 seconds
return;
// do some work and use hObj.value() here
} finally {
if (hObj != null)
pool.restore(hObj, true);
}

项目主页:http://www.open-open.com/lib/view/home/1391952079114

昵    称:
验证码:

相关文档: