# Class: Pool<T>
A pool of objects that can be reused to avoid allocation.
author
Nathan Sweet
# Type parameters
Name | Type | Description |
---|---|---|
T | extends Poolable | The type of objects to pool. |
# Table of contents
# Constructors
# Methods
# Constructors
# constructor
• new Pool<T
>(create
, max?
)
Creates a pool with an initial capacity and a maximum.
# Type parameters
Name | Type |
---|---|
T | extends Poolable |
# Parameters
Name | Type | Default value | Description |
---|---|---|---|
create | () => T | undefined | A function to create a new object. |
max | number | Number.MAX_SAFE_INTEGER | The maximum number of free objects to store in this pool. |
# Defined in
src/pooling/Pool.ts:28 (opens new window)
# Methods
# free
▸ free(object
): void
Puts the specified object in the pool, making it eligible to be returned by obtain. If the pool already contains {@link max} free objects, the specified object is not added to the pool. The pool does not check if an object is already freed, so the same object must not be freed multiple times.
# Parameters
Name | Type | Description |
---|---|---|
object | T | The object to free. |
# Returns
void
# Defined in
src/pooling/Pool.ts:47 (opens new window)
# obtain
▸ obtain(): T
# Returns
T
An object from this pool. The object may be new or reused (previously freed).