axsched

Crates.ioaxsched
lib.rsaxsched
version0.3.0
created_at2025-07-07 18:37:19.319966+00
updated_at2025-07-07 18:37:19.319966+00
descriptionVarious scheduler algorithms in a unified interface
homepagehttps://github.com/arceos-org/arceos
repositoryhttps://github.com/arceos-org/axsched
max_upload_size
id1741631
size21,629
core (github:arceos-org:core)

documentation

https://docs.rs/axsched

README

axsched

Crates.io Docs.rs CI

Various scheduler algorithms in a unified interface.

Currently supported algorithms:

Example

use std::sync::Arc;
use axsched::{FifoScheduler, FifoTask, BaseScheduler};

let mut scheduler = FifoScheduler::new();
scheduler.init();

for i in 0..10 {
    let task = FifoTask::new(i);
    scheduler.add_task(Arc::new(task));
}

for i in 0..10 {
    let next = scheduler.pick_next_task().unwrap();
    let task_id = *next.inner();
    println!("Task {task_id} is running...");
    assert_eq!(task_id, i);
    scheduler.put_prev_task(next, false);
}
Commit count: 0

cargo fmt