[][src]Crate lockfreehashmap

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.

Modules

atomic
map_inner

This module implements most of the logic behind the [::LockFreeHashMap].

Structs

Guard

A guard that keeps the current thread pinned.

Keys
LockFreeHashMap
Scope

Constants

COPY_CHUNK_SIZE

Functions

pin

Pins the current thread.

scope

Create a new scope, for deferred destructors.