/** * Constructor of IdReadWriteLock * @param referenceType type of the reference used in lock pool, {@link ReferenceType#WEAK} by * default. Use {@link ReferenceType#SOFT} if the key set is limited and the locks will * be reused with a high frequency */ public IdReadWriteLock(ReferenceType referenceType) { this.refType = referenceType; switch (referenceType) { case SOFT: lockPool = new SoftObjectPool<>(new ObjectPool.ObjectFactory<T, ReentrantReadWriteLock>() { @Override public ReentrantReadWriteLock createObject(T id) { return new ReentrantReadWriteLock(); } }, NB_CONCURRENT_LOCKS); break; case WEAK: default: lockPool = new WeakObjectPool<>(new ObjectPool.ObjectFactory<T, ReentrantReadWriteLock>() { @Override public ReentrantReadWriteLock createObject(T id) { return new ReentrantReadWriteLock(); } }, NB_CONCURRENT_LOCKS); } }
@Before public void setUp() { pool = new WeakObjectPool<>( new ObjectPool.ObjectFactory<String, Object>() { @Override public Object createObject(String key) { return new Object(); } }); }
@Before public void setUp() { pool = new WeakObjectPool<>( new ObjectPool.ObjectFactory<String, Object>() { @Override public Object createObject(String key) { return new Object(); } }); }
@Before public void setUp() { pool = new WeakObjectPool<>( new ObjectPool.ObjectFactory<String, Object>() { @Override public Object createObject(String key) { return new Object(); } }); }