@Override public Holder<T> holder() { Holder<T> item = poll(); if (item == null) return createHolder(create()); return item; }
public int size() { return queue().size(); } }
@Override public void release(T t) { release(createHolder(t)); }
public <R> R provide(UnsafeMapper<T, R> consumer) { Holder<T> holder = poll(); if (holder == null) holder = createHolder(create()); try { return consumer.map(holder.get()); } catch (Exception e) { throw Unchecked.rethrow(e); } finally { release(holder); } }
public <R> R provide(UnsafeMapper<T, R> consumer) { Holder<T> holder = poll(); if (holder == null) holder = createHolder(create()); try { return consumer.map(holder.get()); } catch (Exception e) { throw Unchecked.rethrow(e); } finally { release(holder); } }
@Override public Holder<T> holder() { Holder<T> item = poll(); if (item == null) return createHolder(create()); return item; }
@Override public void release(T t) { release(createHolder(t)); }
public int size() { return queue().size(); } }
public void release(Holder<T> holder) { queue().add(holder); }
protected Holder<T> poll() { return queue().poll(); }
public void release(Holder<T> holder) { queue().add(holder); }
protected Holder<T> poll() { return queue().poll(); }