pub struct Thread {
pub id: ThreadId,
pub state: ThreadState,
pub kernel_stack: KernelStack,
pub context: Context,
pub process: Weak<RwLock<Process>>,
pub fpu_context: FpState,
}Fields§
§id: ThreadId§state: ThreadState§kernel_stack: KernelStack§context: Context§process: Weak<RwLock<Process>>§fpu_context: FpStateImplementations§
Source§impl Thread
impl Thread
Sourcepub fn new(process: Weak<RwLock<Process>>) -> Self
pub fn new(process: Weak<RwLock<Process>>) -> Self
Creates a new thread.
Don’t call this function directly, use Thread::new_init_thread,Thread::new_user_thread or Thread::new_kernel_thread instead.
Sourcepub fn get_init_thread() -> Weak<RwLock<Thread>>
pub fn get_init_thread() -> Weak<RwLock<Thread>>
Creates a new initial thread.
Sourcepub fn new_kernel_thread(function: fn())
pub fn new_kernel_thread(function: fn())
Creates a new kernel thread.
Auto Trait Implementations§
impl Freeze for Thread
impl !RefUnwindSafe for Thread
impl Send for Thread
impl Sync for Thread
impl Unpin for Thread
impl !UnwindSafe for Thread
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
Source§impl<T> Colorize for Twhere
T: ?Sized,
impl<T> Colorize for Twhere
T: ?Sized,
Source§fn into_style(self) -> StyledValue<Self>where
Self: Sized,
fn into_style(self) -> StyledValue<Self>where
Self: Sized,
Convert a value to a
StyledValue with no styling yet Read moreSource§fn style(&self) -> StyledValue<&Self>
fn style(&self) -> StyledValue<&Self>
Convert a value to a
StyledValue with no styling yet Read moreSource§fn into_style_with<F, B, U>(
self,
style: Style<F, B, U>,
) -> StyledValue<Self, F, B, U>where
Self: Sized,
fn into_style_with<F, B, U>(
self,
style: Style<F, B, U>,
) -> StyledValue<Self, F, B, U>where
Self: Sized,
Convert a value to a
StyledValue and applies the given style Read moreSource§fn style_with<F, B, U>(
&self,
style: Style<F, B, U>,
) -> StyledValue<&Self, F, B, U>
fn style_with<F, B, U>( &self, style: Style<F, B, U>, ) -> StyledValue<&Self, F, B, U>
Convert a value to a
StyledValue and applies the given style Read moreSource§fn fg<C>(&self, color: C) -> StyledValue<&Self, C>
fn fg<C>(&self, color: C) -> StyledValue<&Self, C>
Changes the foreground color Read more
Source§fn into_fg<C>(self, color: C) -> StyledValue<Self, C>where
Self: Sized,
fn into_fg<C>(self, color: C) -> StyledValue<Self, C>where
Self: Sized,
Changes the foreground color Read more
Source§fn bg<C>(&self, color: C) -> StyledValue<&Self, NoColor, C>
fn bg<C>(&self, color: C) -> StyledValue<&Self, NoColor, C>
Changes the background color Read more
Source§fn into_bg<C>(self, color: C) -> StyledValue<Self, NoColor, C>where
Self: Sized,
fn into_bg<C>(self, color: C) -> StyledValue<Self, NoColor, C>where
Self: Sized,
Changes the background color Read more
Source§fn underline_color<C>(
&self,
color: C,
) -> StyledValue<&Self, NoColor, NoColor, C>
fn underline_color<C>( &self, color: C, ) -> StyledValue<&Self, NoColor, NoColor, C>
Changes the underline color Read more
Source§fn into_underline_color<C>(
self,
color: C,
) -> StyledValue<Self, NoColor, NoColor, C>where
Self: Sized,
fn into_underline_color<C>(
self,
color: C,
) -> StyledValue<Self, NoColor, NoColor, C>where
Self: Sized,
Changes the underline color Read more
Source§fn black(&self) -> StyledValue<&Self, Black>
fn black(&self) -> StyledValue<&Self, Black>
Changes the foreground to black
Source§fn red(&self) -> StyledValue<&Self, Red>
fn red(&self) -> StyledValue<&Self, Red>
Changes the foreground to red
Source§fn green(&self) -> StyledValue<&Self, Green>
fn green(&self) -> StyledValue<&Self, Green>
Changes the foreground to green
Source§fn yellow(&self) -> StyledValue<&Self, Yellow>
fn yellow(&self) -> StyledValue<&Self, Yellow>
Changes the foreground to yellow
Source§fn blue(&self) -> StyledValue<&Self, Blue>
fn blue(&self) -> StyledValue<&Self, Blue>
Changes the foreground to blue
Source§fn magenta(&self) -> StyledValue<&Self, Magenta>
fn magenta(&self) -> StyledValue<&Self, Magenta>
Changes the foreground to magenta
Source§fn cyan(&self) -> StyledValue<&Self, Cyan>
fn cyan(&self) -> StyledValue<&Self, Cyan>
Changes the foreground to cyan
Source§fn white(&self) -> StyledValue<&Self, White>
fn white(&self) -> StyledValue<&Self, White>
Changes the foreground to white
Source§fn bright_black(&self) -> StyledValue<&Self, BrightBlack>
fn bright_black(&self) -> StyledValue<&Self, BrightBlack>
Changes the foreground to bright black
Source§fn bright_red(&self) -> StyledValue<&Self, BrightRed>
fn bright_red(&self) -> StyledValue<&Self, BrightRed>
Changes the foreground to bright red
Source§fn bright_green(&self) -> StyledValue<&Self, BrightGreen>
fn bright_green(&self) -> StyledValue<&Self, BrightGreen>
Changes the foreground to bright green
Source§fn bright_yellow(&self) -> StyledValue<&Self, BrightYellow>
fn bright_yellow(&self) -> StyledValue<&Self, BrightYellow>
Changes the foreground to bright yellow
Source§fn bright_blue(&self) -> StyledValue<&Self, BrightBlue>
fn bright_blue(&self) -> StyledValue<&Self, BrightBlue>
Changes the foreground to bright blue
Source§fn bright_magenta(&self) -> StyledValue<&Self, BrightMagenta>
fn bright_magenta(&self) -> StyledValue<&Self, BrightMagenta>
Changes the foreground to bright magenta
Source§fn bright_cyan(&self) -> StyledValue<&Self, BrightCyan>
fn bright_cyan(&self) -> StyledValue<&Self, BrightCyan>
Changes the foreground to bright cyan
Source§fn bright_white(&self) -> StyledValue<&Self, BrightWhite>
fn bright_white(&self) -> StyledValue<&Self, BrightWhite>
Changes the foreground to bright white
Source§fn on_magenta(&self) -> StyledValue<&Self, NoColor, Magenta>
fn on_magenta(&self) -> StyledValue<&Self, NoColor, Magenta>
Changes the background to magenta
Source§fn on_bright_black(&self) -> StyledValue<&Self, NoColor, BrightBlack>
fn on_bright_black(&self) -> StyledValue<&Self, NoColor, BrightBlack>
Changes the background to bright black
Source§fn on_bright_red(&self) -> StyledValue<&Self, NoColor, BrightRed>
fn on_bright_red(&self) -> StyledValue<&Self, NoColor, BrightRed>
Changes the background to bright red
Source§fn on_bright_green(&self) -> StyledValue<&Self, NoColor, BrightGreen>
fn on_bright_green(&self) -> StyledValue<&Self, NoColor, BrightGreen>
Changes the background to bright green
Source§fn on_bright_yellow(&self) -> StyledValue<&Self, NoColor, BrightYellow>
fn on_bright_yellow(&self) -> StyledValue<&Self, NoColor, BrightYellow>
Changes the background to bright yellow
Source§fn on_bright_blue(&self) -> StyledValue<&Self, NoColor, BrightBlue>
fn on_bright_blue(&self) -> StyledValue<&Self, NoColor, BrightBlue>
Changes the background to bright blue
Source§fn on_bright_magenta(&self) -> StyledValue<&Self, NoColor, BrightMagenta>
fn on_bright_magenta(&self) -> StyledValue<&Self, NoColor, BrightMagenta>
Changes the background to bright magenta
Source§fn on_bright_cyan(&self) -> StyledValue<&Self, NoColor, BrightCyan>
fn on_bright_cyan(&self) -> StyledValue<&Self, NoColor, BrightCyan>
Changes the background to bright cyan
Source§fn on_bright_white(&self) -> StyledValue<&Self, NoColor, BrightWhite>
fn on_bright_white(&self) -> StyledValue<&Self, NoColor, BrightWhite>
Changes the background to bright white
Source§fn into_black(self) -> StyledValue<Self, Black>where
Self: Sized,
fn into_black(self) -> StyledValue<Self, Black>where
Self: Sized,
Changes the foreground to black
Source§fn into_green(self) -> StyledValue<Self, Green>where
Self: Sized,
fn into_green(self) -> StyledValue<Self, Green>where
Self: Sized,
Changes the foreground to green
Source§fn into_yellow(self) -> StyledValue<Self, Yellow>where
Self: Sized,
fn into_yellow(self) -> StyledValue<Self, Yellow>where
Self: Sized,
Changes the foreground to yellow
Source§fn into_blue(self) -> StyledValue<Self, Blue>where
Self: Sized,
fn into_blue(self) -> StyledValue<Self, Blue>where
Self: Sized,
Changes the foreground to blue
Source§fn into_magenta(self) -> StyledValue<Self, Magenta>where
Self: Sized,
fn into_magenta(self) -> StyledValue<Self, Magenta>where
Self: Sized,
Changes the foreground to magenta
Source§fn into_cyan(self) -> StyledValue<Self, Cyan>where
Self: Sized,
fn into_cyan(self) -> StyledValue<Self, Cyan>where
Self: Sized,
Changes the foreground to cyan
Source§fn into_white(self) -> StyledValue<Self, White>where
Self: Sized,
fn into_white(self) -> StyledValue<Self, White>where
Self: Sized,
Changes the foreground to white
Source§fn into_bright_black(self) -> StyledValue<Self, BrightBlack>where
Self: Sized,
fn into_bright_black(self) -> StyledValue<Self, BrightBlack>where
Self: Sized,
Changes the foreground to bright black
Source§fn into_bright_red(self) -> StyledValue<Self, BrightRed>where
Self: Sized,
fn into_bright_red(self) -> StyledValue<Self, BrightRed>where
Self: Sized,
Changes the foreground to bright red
Source§fn into_bright_green(self) -> StyledValue<Self, BrightGreen>where
Self: Sized,
fn into_bright_green(self) -> StyledValue<Self, BrightGreen>where
Self: Sized,
Changes the foreground to bright green
Source§fn into_bright_yellow(self) -> StyledValue<Self, BrightYellow>where
Self: Sized,
fn into_bright_yellow(self) -> StyledValue<Self, BrightYellow>where
Self: Sized,
Changes the foreground to bright yellow
Source§fn into_bright_blue(self) -> StyledValue<Self, BrightBlue>where
Self: Sized,
fn into_bright_blue(self) -> StyledValue<Self, BrightBlue>where
Self: Sized,
Changes the foreground to bright blue
Source§fn into_bright_magenta(self) -> StyledValue<Self, BrightMagenta>where
Self: Sized,
fn into_bright_magenta(self) -> StyledValue<Self, BrightMagenta>where
Self: Sized,
Changes the foreground to bright magenta
Source§fn into_bright_cyan(self) -> StyledValue<Self, BrightCyan>where
Self: Sized,
fn into_bright_cyan(self) -> StyledValue<Self, BrightCyan>where
Self: Sized,
Changes the foreground to bright cyan
Source§fn into_bright_white(self) -> StyledValue<Self, BrightWhite>where
Self: Sized,
fn into_bright_white(self) -> StyledValue<Self, BrightWhite>where
Self: Sized,
Changes the foreground to bright white
Source§fn into_on_black(self) -> StyledValue<Self, NoColor, Black>where
Self: Sized,
fn into_on_black(self) -> StyledValue<Self, NoColor, Black>where
Self: Sized,
Changes the background to black
Source§fn into_on_red(self) -> StyledValue<Self, NoColor, Red>where
Self: Sized,
fn into_on_red(self) -> StyledValue<Self, NoColor, Red>where
Self: Sized,
Changes the background to red
Source§fn into_on_green(self) -> StyledValue<Self, NoColor, Green>where
Self: Sized,
fn into_on_green(self) -> StyledValue<Self, NoColor, Green>where
Self: Sized,
Changes the background to green
Source§fn into_on_yellow(self) -> StyledValue<Self, NoColor, Yellow>where
Self: Sized,
fn into_on_yellow(self) -> StyledValue<Self, NoColor, Yellow>where
Self: Sized,
Changes the background to yellow
Source§fn into_on_blue(self) -> StyledValue<Self, NoColor, Blue>where
Self: Sized,
fn into_on_blue(self) -> StyledValue<Self, NoColor, Blue>where
Self: Sized,
Changes the background to blue
Source§fn into_on_magenta(self) -> StyledValue<Self, NoColor, Magenta>where
Self: Sized,
fn into_on_magenta(self) -> StyledValue<Self, NoColor, Magenta>where
Self: Sized,
Changes the background to magenta
Source§fn into_on_cyan(self) -> StyledValue<Self, NoColor, Cyan>where
Self: Sized,
fn into_on_cyan(self) -> StyledValue<Self, NoColor, Cyan>where
Self: Sized,
Changes the background to cyan
Source§fn into_on_white(self) -> StyledValue<Self, NoColor, White>where
Self: Sized,
fn into_on_white(self) -> StyledValue<Self, NoColor, White>where
Self: Sized,
Changes the background to white
Source§fn into_on_bright_black(self) -> StyledValue<Self, NoColor, BrightBlack>where
Self: Sized,
fn into_on_bright_black(self) -> StyledValue<Self, NoColor, BrightBlack>where
Self: Sized,
Changes the background to bright black
Source§fn into_on_bright_red(self) -> StyledValue<Self, NoColor, BrightRed>where
Self: Sized,
fn into_on_bright_red(self) -> StyledValue<Self, NoColor, BrightRed>where
Self: Sized,
Changes the background to bright red
Source§fn into_on_bright_green(self) -> StyledValue<Self, NoColor, BrightGreen>where
Self: Sized,
fn into_on_bright_green(self) -> StyledValue<Self, NoColor, BrightGreen>where
Self: Sized,
Changes the background to bright green
Source§fn into_on_bright_yellow(self) -> StyledValue<Self, NoColor, BrightYellow>where
Self: Sized,
fn into_on_bright_yellow(self) -> StyledValue<Self, NoColor, BrightYellow>where
Self: Sized,
Changes the background to bright yellow
Source§fn into_on_bright_blue(self) -> StyledValue<Self, NoColor, BrightBlue>where
Self: Sized,
fn into_on_bright_blue(self) -> StyledValue<Self, NoColor, BrightBlue>where
Self: Sized,
Changes the background to bright blue
Source§fn into_on_bright_magenta(self) -> StyledValue<Self, NoColor, BrightMagenta>where
Self: Sized,
fn into_on_bright_magenta(self) -> StyledValue<Self, NoColor, BrightMagenta>where
Self: Sized,
Changes the background to bright magenta
Source§fn into_on_bright_cyan(self) -> StyledValue<Self, NoColor, BrightCyan>where
Self: Sized,
fn into_on_bright_cyan(self) -> StyledValue<Self, NoColor, BrightCyan>where
Self: Sized,
Changes the background to bright cyan
Source§fn into_on_bright_white(self) -> StyledValue<Self, NoColor, BrightWhite>where
Self: Sized,
fn into_on_bright_white(self) -> StyledValue<Self, NoColor, BrightWhite>where
Self: Sized,
Changes the background to bright white
Source§fn bold(&self) -> StyledValue<&Self>
fn bold(&self) -> StyledValue<&Self>
Applies the bold effect
Source§fn dimmed(&self) -> StyledValue<&Self>
fn dimmed(&self) -> StyledValue<&Self>
Applies the dimmed effect
Source§fn italics(&self) -> StyledValue<&Self>
fn italics(&self) -> StyledValue<&Self>
Applies the italics effect
Source§fn underline(&self) -> StyledValue<&Self>
fn underline(&self) -> StyledValue<&Self>
Applies the underline effect
Source§fn double_underline(&self) -> StyledValue<&Self>
fn double_underline(&self) -> StyledValue<&Self>
Applies the double underline effect
Source§fn blink(&self) -> StyledValue<&Self>
fn blink(&self) -> StyledValue<&Self>
Applies the blink effect
Source§fn blink_fast(&self) -> StyledValue<&Self>
fn blink_fast(&self) -> StyledValue<&Self>
Applies the blink fast effect
Source§fn reverse(&self) -> StyledValue<&Self>
fn reverse(&self) -> StyledValue<&Self>
Applies the reverse effect
Source§fn hide(&self) -> StyledValue<&Self>
fn hide(&self) -> StyledValue<&Self>
Applies the hide effect
Source§fn strikethrough(&self) -> StyledValue<&Self>
fn strikethrough(&self) -> StyledValue<&Self>
Applies the strikethrough effect
Source§fn overline(&self) -> StyledValue<&Self>
fn overline(&self) -> StyledValue<&Self>
Applies the overline effect
Source§fn superscript(&self) -> StyledValue<&Self>
fn superscript(&self) -> StyledValue<&Self>
Applies the superscript effect
Source§fn subscript(&self) -> StyledValue<&Self>
fn subscript(&self) -> StyledValue<&Self>
Applies the subscript effect
Source§fn into_bold(self) -> StyledValue<Self>where
Self: Sized,
fn into_bold(self) -> StyledValue<Self>where
Self: Sized,
Applies the bold effect
Source§fn into_dimmed(self) -> StyledValue<Self>where
Self: Sized,
fn into_dimmed(self) -> StyledValue<Self>where
Self: Sized,
Applies the dimmed effect
Source§fn into_italics(self) -> StyledValue<Self>where
Self: Sized,
fn into_italics(self) -> StyledValue<Self>where
Self: Sized,
Applies the italics effect
Source§fn into_underline(self) -> StyledValue<Self>where
Self: Sized,
fn into_underline(self) -> StyledValue<Self>where
Self: Sized,
Applies the underline effect
Source§fn into_double_underline(self) -> StyledValue<Self>where
Self: Sized,
fn into_double_underline(self) -> StyledValue<Self>where
Self: Sized,
Applies the double underline effect
Source§fn into_blink(self) -> StyledValue<Self>where
Self: Sized,
fn into_blink(self) -> StyledValue<Self>where
Self: Sized,
Applies the blink effect
Source§fn into_blink_fast(self) -> StyledValue<Self>where
Self: Sized,
fn into_blink_fast(self) -> StyledValue<Self>where
Self: Sized,
Applies the blink fast effect
Source§fn into_reverse(self) -> StyledValue<Self>where
Self: Sized,
fn into_reverse(self) -> StyledValue<Self>where
Self: Sized,
Applies the reverse effect
Source§fn into_hide(self) -> StyledValue<Self>where
Self: Sized,
fn into_hide(self) -> StyledValue<Self>where
Self: Sized,
Applies the hide effect
Source§fn into_strikethrough(self) -> StyledValue<Self>where
Self: Sized,
fn into_strikethrough(self) -> StyledValue<Self>where
Self: Sized,
Applies the strikethrough effect
Source§fn into_overline(self) -> StyledValue<Self>where
Self: Sized,
fn into_overline(self) -> StyledValue<Self>where
Self: Sized,
Applies the overline effect
Source§fn into_superscript(self) -> StyledValue<Self>where
Self: Sized,
fn into_superscript(self) -> StyledValue<Self>where
Self: Sized,
Applies the superscript effect
Source§fn into_subscript(self) -> StyledValue<Self>where
Self: Sized,
fn into_subscript(self) -> StyledValue<Self>where
Self: Sized,
Applies the subscript effect
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more