• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Crossbeam Epoch
2
3[![Build Status](https://github.com/crossbeam-rs/crossbeam/workflows/CI/badge.svg)](
4https://github.com/crossbeam-rs/crossbeam/actions)
5[![License](https://img.shields.io/badge/license-MIT_OR_Apache--2.0-blue.svg)](
6https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch#license)
7[![Cargo](https://img.shields.io/crates/v/crossbeam-epoch.svg)](
8https://crates.io/crates/crossbeam-epoch)
9[![Documentation](https://docs.rs/crossbeam-epoch/badge.svg)](
10https://docs.rs/crossbeam-epoch)
11[![Rust 1.38+](https://img.shields.io/badge/rust-1.38+-lightgray.svg)](
12https://www.rust-lang.org)
13[![chat](https://img.shields.io/discord/569610676205781012.svg?logo=discord)](https://discord.com/invite/JXYwgWZ)
14
15This crate provides epoch-based garbage collection for building concurrent data structures.
16
17When a thread removes an object from a concurrent data structure, other threads
18may be still using pointers to it at the same time, so it cannot be destroyed
19immediately. Epoch-based GC is an efficient mechanism for deferring destruction of
20shared objects until no pointers to them can exist.
21
22Everything in this crate except the global GC can be used in `no_std` environments, provided that
23`alloc` feature is enabled.
24
25## Usage
26
27Add this to your `Cargo.toml`:
28
29```toml
30[dependencies]
31crossbeam-epoch = "0.9"
32```
33
34## Compatibility
35
36Crossbeam Epoch supports stable Rust releases going back at least six months,
37and every time the minimum supported Rust version is increased, a new minor
38version is released. Currently, the minimum supported Rust version is 1.38.
39
40## License
41
42Licensed under either of
43
44 * Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
45 * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
46
47at your option.
48
49#### Contribution
50
51Unless you explicitly state otherwise, any contribution intentionally submitted
52for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
53dual licensed as above, without any additional terms or conditions.
54