Hyaline-SMR
This crate provides garbage collection using hyaline algorithm for building concurrent data structures.
When a thread removes an object from a concurrent data structure, other threads may be still using pointers to it at the same time, so it cannot be destroyed immediately. Hyaline based garbage collection is an alternative to epoch based garabge collection to defer the destruction of these shared objects until no pointers to them can exist.
see Snapshot-Free, Transparent, and Robust Memory Reclamation for Lock-Free Data Structures for further details.
This crate requires nightly.
Usage
Add this to your Cargo.toml
:
[dependencies]
hyaline_smr = "0.1"
Example
Refer documentation
Credits
Snapshot-Free, Transparent, and Robust Memory Reclamation for Lock-Free Data Structures
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.