#lock-free #rcu #atomic #garbage

crossbeam-epoch

Epoch-based garbage collection

11 releases (4 breaking)

0.5.2 Aug 2, 2018
0.5.1 Jul 20, 2018
0.5.0 Jun 12, 2018
0.4.1 Mar 20, 2018
0.2.0 Nov 29, 2017

#2 in Concurrency

Download history 32167/week @ 2018-05-11 38063/week @ 2018-05-18 33702/week @ 2018-05-25 36435/week @ 2018-06-01 38322/week @ 2018-06-08 37378/week @ 2018-06-15 37957/week @ 2018-06-22 37123/week @ 2018-06-29 36363/week @ 2018-07-06 40806/week @ 2018-07-13 40631/week @ 2018-07-20 38331/week @ 2018-07-27 45443/week @ 2018-08-03

164,239 downloads per month
Used in 1,872 crates (15 directly)

MIT/Apache

128KB
2K SLoC

Epoch-based garbage collection

Build Status License Cargo Documentation

This crate provides epoch-based garbage collection for use in concurrent data structures.

If a thread removes a node from a concurrent data structure, other threads may still have pointers to that node, so it cannot be immediately destructed. Epoch GC allows deferring destruction until it becomes safe to do so.

Usage

Add this to your Cargo.toml:

[dependencies]
crossbeam-epoch = "0.6"

Next, add this to your crate:

extern crate crossbeam_epoch as epoch;

The minimum required Rust version is 1.26.

License

Licensed under the terms of MIT license and the Apache License (Version 2.0).

See LICENSE-MIT and LICENSE-APACHE for details.

Dependencies

~109KB