Crate mempool [] [src]

This crate provides a fast thread safe memory pool for reusing allocations. It aggressively optimizes for the single-threaded use case, but gracefully supports access from multiple threads simultaneously. In particular, values in a pool may not be shared across threads.

Example

A pool takes an initialization function for creating members of the pool. Once created, values can be immediately retrieved.

use mempool::Pool;

let pool = Pool::new(Box::new(|| "foobar"));
assert_eq!("foobar", *pool.get());

Note that the pool returns an immutable reference. If you need a mutable reference, then use a RefCell. (Which is guaranteed safe by the pool.)

Structs

Pool

A fast memory pool.

Type Definitions

CreateFn

The type of an initialization function.