Crate lockfreehashmap

Source
Expand description

LockFreeHashMap

This is an implementation of the lock-free hash map created by Dr. Cliff Click.

Originally, this implementation here and recently here was created for Java, using garbage collection where necessary. This library is a Rust implementation, using epoch-based memory management to compensate for the lack of garbage collection. The crossbeam crate is used for epoch-based memory management.

For details on the hash map’s design and implementation, see the (private) [map_inner] module.

At the time of writing, other concurrent hash maps available don’t appear to allow reading and writing at the same time. This map does. Effectively, this map has the same guarantees as having a certain amount of global variables that can be changed atomically.

Structs§

Guard
Re-export crossbeam::epoch::pin() and its return type for convenience. A guard that keeps the current thread pinned.
LockFreeHashMap
Scope
Re-export crossbeam::scope() and its return type for convenience.

Constants§

COPY_CHUNK_SIZE

Functions§

pin
Re-export crossbeam::epoch::pin() and its return type for convenience. Pins the current thread.
scope
Re-export crossbeam::scope() and its return type for convenience. Create a new scope, for deferred destructors.