#[repr(u8)]pub enum ThreadState {
Running = 0,
Ready = 1,
Blocked = 2,
Suspended = 3,
Deleted = 4,
Invalid = 5,
}Expand description
All OSAL trait definitions for advanced usage. Represents the possible states of an RTOS task/thread.
§Examples
use osal_rs::os::*;
let thread = Thread::get_current();
let metadata = thread.get_metadata();
match metadata.state {
ThreadState::Running => (), // currently executing
ThreadState::Ready => (), // ready to run
ThreadState::Blocked => (), // waiting for an event
ThreadState::Suspended => (), // explicitly suspended
_ => (), // deleted or unknown
}
// The thread asking is, by definition, the one running.
assert_eq!(metadata.state, ThreadState::Running);Variants§
Running = 0
Thread is currently executing on a CPU
Ready = 1
Thread is ready to run but not currently executing
Blocked = 2
Thread is blocked waiting for an event (e.g., semaphore, queue)
Suspended = 3
Thread has been explicitly suspended
Deleted = 4
Thread has been deleted
Invalid = 5
Invalid or unknown state
Trait Implementations§
Source§impl Clone for ThreadState
impl Clone for ThreadState
Source§fn clone(&self) -> ThreadState
fn clone(&self) -> ThreadState
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ThreadState
Source§impl Debug for ThreadState
impl Debug for ThreadState
Source§impl PartialEq for ThreadState
impl PartialEq for ThreadState
impl StructuralPartialEq for ThreadState
Auto Trait Implementations§
impl Freeze for ThreadState
impl RefUnwindSafe for ThreadState
impl Send for ThreadState
impl Sync for ThreadState
impl Unpin for ThreadState
impl UnsafeUnpin for ThreadState
impl UnwindSafe for ThreadState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more