java.lang.Object
cn.wjybxx.base.io.ConcurrentObjectPool<T>
- 所有已实现的接口:
ObjectPool<T>,Supplier<T>
简单的固定大小的对象池实现
(未鉴定归属,可归还外部对象,适用简单场景)
- 作者:
- wjybxx date - 2024/1/6
-
字段概要
字段 -
构造器概要
构造器构造器说明ConcurrentObjectPool(Supplier<? extends T> factory, Consumer<? super T> resetHandler) ConcurrentObjectPool(Supplier<? extends T> factory, Consumer<? super T> resetHandler, int poolSize) ConcurrentObjectPool(Supplier<? extends T> factory, Consumer<? super T> resetHandler, int poolSize, Predicate<? super T> filter) -
方法概要
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 cn.wjybxx.base.pool.ObjectPool
releaseAll
-
字段详细资料
-
SHARED_STRING_BUILDER_POOL
全局共享的StringBuilder池
-
-
构造器详细资料
-
ConcurrentObjectPool
- 参数:
factory- 对象创建工厂resetHandler- 重置方法
-
ConcurrentObjectPool
public ConcurrentObjectPool(Supplier<? extends T> factory, Consumer<? super T> resetHandler, int poolSize) - 参数:
factory- 对象创建工厂resetHandler- 重置方法poolSize- 缓存池大小;0表示不缓存对象
-
ConcurrentObjectPool
public ConcurrentObjectPool(Supplier<? extends T> factory, Consumer<? super T> resetHandler, int poolSize, Predicate<? super T> filter) - 参数:
factory- 对象创建工厂resetHandler- 重置方法poolSize- 缓存池大小;0表示不缓存对象filter- 对象回收过滤器
-
-
方法详细资料
-
getPoolSize
public int getPoolSize()获取池大小 -
getAvailableCount
public int getAvailableCount()可用对象数 注意:这只是一个估值,通常仅用于debug和测试用例 -
get
已过时。从接口复制的说明:ObjectPool该接口更多用于适配,不建议直接使用 -
acquire
从接口复制的说明:ObjectPool从池中租借一个对象- 指定者:
acquire在接口中ObjectPool<T>- 返回:
- 如果池中有可用的对象,则返回缓存的对象,否则返回一个新的对象
-
release
从接口复制的说明:ObjectPool将指定的对象放入池中- 指定者:
release在接口中ObjectPool<T>- 参数:
obj- 要回收的对象
-
clear
public void clear()从接口复制的说明:ObjectPool释放此池中的所有对象 (如果属于特殊资源,可不清理)- 指定者:
clear在接口中ObjectPool<T>
-