11 个稳定版本

2.2.0 2023年10月18日
2.1.1 2023年9月25日
2.1.0 2023年4月7日
2.0.0 2020年8月4日
1.0.1 2020年5月28日

#178 in 并发

Download history 635439/week @ 2024-04-20 597002/week @ 2024-04-27 592140/week @ 2024-05-04 652157/week @ 2024-05-11 639094/week @ 2024-05-18 631439/week @ 2024-05-25 677796/week @ 2024-06-01 665932/week @ 2024-06-08 641592/week @ 2024-06-15 663838/week @ 2024-06-22 616317/week @ 2024-06-29 666403/week @ 2024-07-06 666783/week @ 2024-07-13 720644/week @ 2024-07-20 746177/week @ 2024-07-27 748323/week @ 2024-08-03

2,996,591 每月下载量
用于 5,182 个 Crates(8 直接使用)

Apache-2.0 OR MIT

17KB
191 代码行

parking

Build License Cargo Documentation

线程停车和唤醒。

停车器处于通知或未通知状态。方法 park() 阻塞当前线程,直到停车器被通知,然后将其放回未通知状态。方法 unpark() 将其置于通知状态。

示例

use std::thread;
use std::time::Duration;
use parking::Parker;

let p = Parker::new();
let u = p.unparker();

// Notify the parker.
u.unpark();

// Wakes up immediately because the parker is notified.
p.park();

thread::spawn(move || {
    thread::sleep(Duration::from_millis(500));
    u.unpark();
});

// Wakes up when `u.unpark()` notifies and then goes back into unnotified state.
p.park();

许可证

许可协议为以下之一

任选其一。

贡献

除非您明确声明,否则根据 Apache-2.0 许可证定义的任何有意提交以包含在作品中的贡献,均应按上述方式双许可,不得附加任何额外条款或条件。

依赖项

~0–24MB
~333K SLoC