diff --git a/src/org/redkale/util/ThreadLocalObjectPool.java b/src/org/redkale/util/ThreadLocalObjectPool.java deleted file mode 100644 index 6074383ee..000000000 --- a/src/org/redkale/util/ThreadLocalObjectPool.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package org.redkale.util; - -import java.util.*; -import java.util.concurrent.atomic.AtomicLong; -import java.util.function.*; - -/** - * 对象池 - * - *

- * 详情见: https://redkale.org - * - * @author zhangjx - * @param 对象池元素的数据类型 - */ -public class ThreadLocalObjectPool extends ObjectPool { - - public ThreadLocalObjectPool(Class clazz, Consumer prepare, Predicate recycler) { - this(2, clazz, prepare, recycler); - } - - public ThreadLocalObjectPool(int max, Class clazz, Consumer prepare, Predicate recycler) { - this(max, Creator.create(clazz), prepare, recycler); - } - - public ThreadLocalObjectPool(Creator creator, Consumer prepare, Predicate recycler) { - this(2, creator, prepare, recycler); - } - - public ThreadLocalObjectPool(int max, Creator creator, Consumer prepare, Predicate recycler) { - this(null, null, max, creator, prepare, recycler); - } - - public ThreadLocalObjectPool(int max, Supplier creator, Consumer prepare, Predicate recycler) { - this(null, null, max, creator, prepare, recycler); - } - - public ThreadLocalObjectPool(AtomicLong creatCounter, AtomicLong cycleCounter, int max, Supplier creator, Consumer prepare, Predicate recycler) { - this(creatCounter, cycleCounter, max, c -> creator.get(), prepare, recycler); - } - - public ThreadLocalObjectPool(AtomicLong creatCounter, AtomicLong cycleCounter, int max, Creator creator, Consumer prepare, Predicate recycler) { - super(creatCounter, cycleCounter, max, creator, prepare, recycler, new LinkedList<>()); - } - - @Override - public T get() { - T result = queue.poll(); - if (result == null) { - if (creatCounter != null) creatCounter.incrementAndGet(); - result = this.creator.create(); - } - if (prepare != null) prepare.accept(result); - return result; - } - - @Override - public void accept(final T e) { - if (e != null && recycler.test(e) && this.queue.size() < this.max) { - if (cycleCounter != null) cycleCounter.incrementAndGet(); - queue.offer(e); - } - } - -}