SynchronizedPool类源码简单,5分钟即可看懂,此文仅节约4分钟看代码时间。
简述:SynchronizedPool 是个对象缓存池,用法是
val pool = Pools.SynchronizedPool<A>(10) // 创建容量为10的对象数组
pool.release(A())//把 A 加入数组
val a = pool.acquire()//从数组中把 A 取出
需要知道:
1、不会对放入的对象做任何操作,仅仅是放在数组中而已。
2、包含线程锁。
其它:
1、内部仅仅是一个数组而已
2、以栈的形式存放,先入后出
3、可能取出null,存放可能因超出数组容量而报错。