使用旧Rust 2015
0.0.1 |
|
---|
#112 in #synchronization
15KB
346 行
monitor_rs
一个实现监控同步构造的Rust库。
许可: MIT
示例
extern crate monitor_rs;
use monitor_rs::{Monitor, MonitorGuard};
use std::sync::Arc;
use std::thread;
use std::time::Duration;
fn main() {
let mon = Arc::new(Monitor::new(false));
{
let mon = mon.clone();
let _ = thread::spawn(move || {
thread::sleep(Duration::new(1, 0));
mon.with_lock(&|done: MonitorGuard<bool>| {
*done = true;
done.notify_one();
});
});
}
mon.with_lock(&|mut done| {
while !*done {
done.wait();
}
});
}
更多示例,请参阅lib.rs中的测试。