#timer #native #schedule #linux-macos

native-timer

使用操作系统计时器功能的计时库

10个版本 (4个重大变更)

0.5.2 2023年1月22日
0.5.1 2023年1月22日
0.4.0 2023年1月21日
0.3.3 2023年1月20日
0.1.0 2023年1月15日

#509 in 并发

MIT 许可证

34KB
607

Rust的本地计时器

提供使用操作系统功能的计时功能。目前支持Windows、Linux和MacOS。

目前仅支持Windows和Linux平台。

功能

  • tracker(默认)- 启用静态回调跟踪器。它应该将本地回调最小化到最近被销毁的无效计时器上下文中。

示例

触发一次性任务

# use std::sync::{Arc, atomic::{AtomicBool, Ordering}};
# use std::thread;
# use std::time::Duration;
use native_timer::fire_oneshot;

let flag = Arc::new(AtomicBool::new(false));
let shared_flag = flag.clone();
fire_oneshot(Duration::from_millis(100), None, move || {
    let _ = &shared_flag.store(true, Ordering::SeqCst);
}).unwrap();
thread::sleep(Duration::from_millis(200));
assert!(flag.load(Ordering::SeqCst));

有关更多用法,请参阅/src/examples/simple.rs

致谢

Linux和MacOS实现是从标签 v1.10.0 上的 Autd3开源库 中恢复的,这是在后续提交中删除之前。

依赖项

~0.4–36MB
~535K SLoC