From f94146b3af6cf8a83c8c0ba62f7f86bae500dec2 Mon Sep 17 00:00:00 2001 From: yy1717 <fctom1215@outlook.com> Date: 星期一, 06 一月 2020 11:23:43 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/endian11/DriveJudge --- app/src/main/java/safeluck/drive/evaluation/cEventCenter/ObjectPool.java | 30 ++++++++++++++++++++++++++---- 1 files changed, 26 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/safeluck/drive/evaluation/cEventCenter/ObjectPool.java b/app/src/main/java/safeluck/drive/evaluation/cEventCenter/ObjectPool.java index 3eafce0..acaa4e5 100644 --- a/app/src/main/java/safeluck/drive/evaluation/cEventCenter/ObjectPool.java +++ b/app/src/main/java/safeluck/drive/evaluation/cEventCenter/ObjectPool.java @@ -8,12 +8,20 @@ * All Rights Saved! Chongqing AnYun Tech co. LTD */ public abstract class ObjectPool<T extends PooledObject> { + /** + * 瀵硅薄瀹瑰櫒 + */ + private T[] mContainer; - private T[] mContainer;//瀵硅薄瀹瑰櫒 + /** + * 瀵硅薄閿� + */ + private final Object LOCK = new Object(); - private final Object LOCK = new Object();//瀵硅薄閿� - - private int length;//姣忔杩斿洖瀵硅薄閮芥斁鍒版暟鎹湯绔紝length琛ㄧず鍓嶉潰鍙敤瀵硅薄鏁� + /*** + * 姣忔杩斿洖瀵硅薄閮芥斁鍒版暟鎹湯绔紝length琛ㄧず鍓嶉潰鍙敤瀵硅薄鏁� + */ + private int length; public ObjectPool(int capacity) { mContainer = createObjPool(capacity); @@ -60,4 +68,18 @@ } return obj; } + + /** + * 鎶婂璞℃斁鍥炴睜閲岄潰 + * @param obj + */ + public final void returnObj(T obj){ + synchronized (LOCK){ + int size = mContainer.length; + if (length < size){ + mContainer[length] = obj; + length++; + } + } + } } -- Gitblit v1.8.0