10 stable releases
2.2.0 | Apr 17, 2023 |
---|---|
2.1.0 | Nov 1, 2020 |
2.0.1 | Jan 3, 2019 |
2.0.0 | Dec 17, 2017 |
0.10.0 | Jun 5, 2017 |
#560 in Concurrency
1,487 downloads per month
Used in 3 crates
(2 directly)
12KB
240 lines
Pinboard
An eventually-consistent, lock-free, mutable store of shared data.
Just stick it on the pinboard!
Documentation
Usage
Install from crates.io by adding pinboard
to your Cargo.toml
:
[dependencies]
pinboard = "2.0.0"
Now you can create a Pinboard, share it between your users (be they Futures
, threads or really anything else) and start sharing data!
use pinboard::NonEmptyPinboard;
use std::{thread, time::Duration};
let weather_report = NonEmptyPinboard::new("Sunny");
crossbeam::scope(|scope| {
scope.spawn(|_| {
thread::sleep(Duration::from_secs(10));
weather_report.set("Raining");
});
scope.spawn(|_| {
loop {
println!("The weather is {}", weather_report.get_ref());
thread::sleep(Duration::from_secs(1));
}
});
});
Dependencies
~255KB