1 个不稳定版本

0.2.0 2021年3月25日
0.1.1 2021年3月16日
0.1.0 2021年3月16日

#595 in 并发

MIT 许可证

61KB
1K SLoC

JobSys

关于

提供了一种无锁工作窃取作业系统的实现,初始化后不会消耗额外的内存来调度作业。

此 crate 需要 rust 版本 2018,并可以用稳定版运行。它已经与 rust 版本 1.50.0 进行了测试。

有关更多详细信息,请参阅crate 的文档

注意:建议以后使用 0.2.0 版本,因为它修复了原始版本中的许多问题。

示例

use jobsys::{JobSystem, JobScope, JobInstance};

fn main() {
    let thread_count = 4_usize;
    let job_capacity = 512_usize;
    let job_sys = JobSystem::new(thread_count, job_capacity).unwrap();
    let job_scope = JobScope::new_from_system(&job_sys);
    let job_instance = JobInstance::create(&job_scope, || {
        println!("Hello from Job Instance");
        }).unwrap();
    job_instance.wait_with(|| println!("Waiting on Job to Finish")).expect("Failed to wait on job");
}

依赖项

~310KB