Java 并发对象池:Vibur Object Pool

jopen 11年前

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