2 个版本
0.1.1 | 2020年7月27日 |
---|---|
0.1.0 | 2020年7月26日 |
#658 in 并发
每月 31 次下载
用于 wallrnd
14KB
219 行
scrummage
控制进程的调度,使程序更响应!
scrummage::Process::current()
.set_priority(scrummage::Priority::normal().lower().last().unwrap())
.expect("couldn't set own thread priority");
路线图
- Linux 支持
- ...然后是 Unix,
- 以及 MacOS?
- Windows 支持
- 线程优先级
- 这目前是 thread-priority 的一部分
- 并且更难做正确;我想保护用户免受优先级反转等问题的影响。
lib.rs
:
操作系统进程调度 API 的薄层抽象。
通过向操作系统指示我们进程的优先级,我们可以更好地控制程序的资源使用情况,以及哪些任务会先完成。
例如,我们可以通过给它更高的优先级来配置我们的 UI,以抢占后台任务
let me = Process::current().priority().unwrap();
let boring_work = me.lower().next().expect("no lower priority available");
// It's fine if the `busy_child_process` has already finished
let _ = Process::from(&mut busy_child_process)
.set_priority(boring_work);
这将告诉操作系统确保 me
总是获得它所需的全部资源,使它更快。
依赖关系
~42KB