ObjectPool
Properties
abstract val capacity: Int Pool capacity |
Functions
abstract fun borrow(): T borrow an instance. Pool can recycle an old instance or create a new one |
|
open fun close(): Unit Does pool dispose |
|
abstract fun dispose(): Unit Dispose the whole pool. None of borrowed objects could be used after the pool gets disposed otherwise it can result in undefined behaviour |
|
Recycle an instance. Should be recycled what was borrowed before otherwise could fail |
Extension Functions
Borrows and instance of T from the pool, invokes block with it and finally recycles it |
|
Borrows and instance of T from the pool, invokes block with it and finally recycles it |
Inheritors
abstract expect class DefaultPool<T : Any> : ObjectPool<T> Default object pool implementation. |
|
abstract class NoPoolImpl<T : Any> : ObjectPool<T> A pool implementation of zero capacity that always creates new instances |
|
abstract class SingleInstancePool<T : Any> : ObjectPool<T> A pool that produces at most one instance |