Module arceos_api::task
source · Expand description
Multi-threading management.
Structs§
- AxTaskHandle
multitask
A handle to a task. - AxWaitQueueHandle
multitask
A handle to a wait queue.
Functions§
- ax_current_task_id
multitask
Returns the current task’s ID. - Exits the current task with the given exit code.
- ax_set_current_affinity
multitask
Sets the cpu affinity of the current task. - ax_set_current_priority
multitask
Sets the priority of the current task. - Current task is going to sleep, it will be woken up at the given deadline.
- ax_spawn
multitask
Spawns a new task with the given entry point and other arguments. - ax_wait_for_exit
multitask
Waits for the given task to exit, and returns its exit code (the argument ofax_exit
). - ax_wait_queue_wait
multitask
Blocks the current task and put it into the wait queue, until other tasks notify the wait queue, or the the given duration has elapsed (if specified). - ax_wait_queue_wait_until
multitask
Blocks the current task and put it into the wait queue, until the given condition becomes true, or the the given duration has elapsed (if specified). - ax_wait_queue_wake
multitask
Wakes up one or more tasks in the wait queue. - Current task gives up the CPU time voluntarily, and switches to another ready task.
Type Aliases§
- AxCpuMask
multitask
A mask to specify the CPU affinity. The wrapper type for [cpumask::CpuMask
] with SMP configuration.