#include <thread.h>
Inheritance diagram for ucommon::ReusableAllocator:
Protected Member Functions | |
ReusableObject * | next (ReusableObject *object) |
Get next reusable object in the pool. | |
void | release (ReusableObject *object) |
Release resuable object. | |
ReusableAllocator () | |
Initialize reusable allocator through a conditional. | |
Protected Attributes | |
ReusableObject * | freelist |
unsigned | waiting |
This is used to support a memory pool allocation scheme where a pool of reusable objects may be allocated, and the pool renewed by releasing objects or back. When the pool is used up, a pool consuming thread then must wait for a resource to be freed by another consumer (or timeout). This class is not meant to be used directly, but rather to build the synchronizing control between consumers which might be forced to wait for a resource.
Definition at line 678 of file thread.h.
ucommon::ReusableAllocator::ReusableAllocator | ( | ) | [protected] |
Initialize reusable allocator through a conditional.
Zero free list.
ReusableObject* ucommon::ReusableAllocator::next | ( | ReusableObject * | object | ) | [inline, protected] |
Get next reusable object in the pool.
object | from list. |
Definition at line 694 of file thread.h.
References ucommon::ReusableObject::getNext().
Here is the call graph for this function:
void ucommon::ReusableAllocator::release | ( | ReusableObject * | object | ) | [protected] |
Release resuable object.
object | being released. |