PoolUtils.erodingPool
- ObjectPool!(T) erodingPool(ObjectPool!(T) pool)
- ObjectPool!(T) erodingPool(ObjectPool!(T) pool, float factor)
- KeyedObjectPool!(K, V) erodingPool(KeyedObjectPool!(K, V) keyedPool)
- KeyedObjectPool!(K, V) erodingPool(KeyedObjectPool!(K, V) keyedPool, float factor)
class PoolUtils
static
KeyedObjectPool!(K, V)
erodingPool
- KeyedObjectPool!(K, V) erodingPool(KeyedObjectPool!(K, V) keyedPool, float factor, bool perKey)
hunt pool PoolUtils PoolUtils
constructorsstatic functions
Returns a pool that adaptively decreases its size when idle objects are no longer needed. This is intended as an always thread-safe alternative to using an idle object evictor provided by many pool implementations. This is also an effective way to shrink FIFO ordered pools that experience load spikes. <p> The factor parameter provides a mechanism to tweak the rate at which the pool tries to shrink its size. Values between 0 and 1 cause the pool to try to shrink its size more often. Values greater than 1 cause the pool to less frequently try to shrink its size. </p>
@param keyedPool the KeyedObjectPool to be decorated so it shrinks its idle count when possible. @param factor a positive value to scale the rate at which the pool tries to reduce its size. If 0 < factor < 1 then the pool shrinks more aggressively. If 1 < factor then the pool shrinks less aggressively. @param <K> the type of the pool key @param <V> the type of pool entries @return a pool that adaptively decreases its size when idle objects are no longer needed. @see #erodingPool(KeyedObjectPool, float, bool)