# Thead Safe Object Pool
This is a general purpose thread safe object pool that supports most
data structures in the standard library, as well as many useful
external data structures such as IndexMap, triomphe::Arc, etc.
It limits the pool size as well as the element size to prevent memory
waste, and it slowly deallocates pooled items on a background thread.
```rust
use std::sync::LazyLock;
use poolshark::Pool;
fn main() {
let mut v = POOL.take();
// do stuff with v
drop(v) // v actually goes back into the pool
}
```