pub struct Thread { /* private fields */ }Expand description
A POSIX thread which can be build with the ThreadBuilder.
§Examples
See the ThreadBuilder for advanced construction examples.
use iceoryx2_bb_posix::thread::*;
use core::sync::atomic::{AtomicBool, Ordering};
static KEEP_RUNNING: AtomicBool = AtomicBool::new(true);
fn some_func() {
let handle = ThreadHandle::from_self();
println!("Hello from: {:?}", handle);
while KEEP_RUNNING.load(Ordering::Relaxed) {}
}
let thread = ThreadBuilder::new()
.name(&ThreadName::from_bytes(b"some-name").unwrap())
.spawn(some_func)
.expect("Failed to create thread");
println!("Created thread: {:?}", thread);
KEEP_RUNNING.store(false, Ordering::Relaxed);Implementations§
Source§impl Thread
impl Thread
Sourcepub fn send_signal(&mut self, signal: Signal) -> Result<(), ThreadSignalError>
pub fn send_signal(&mut self, signal: Signal) -> Result<(), ThreadSignalError>
Sends a Signal to the thread.
Trait Implementations§
Source§impl ThreadProperties for Thread
impl ThreadProperties for Thread
Source§fn get_name(&self) -> Result<&ThreadName, ThreadGetNameError>
fn get_name(&self) -> Result<&ThreadName, ThreadGetNameError>
Returns the name of the thread.
Source§fn get_affinity(&self) -> Result<Vec<usize>, ThreadSetAffinityError>
fn get_affinity(&self) -> Result<Vec<usize>, ThreadSetAffinityError>
Returns a vector of numbers which represents the CPU cores in which the
thread may run.
Source§fn set_affinity(
&mut self,
cpu_core_ids: &[usize],
) -> Result<(), ThreadSetAffinityError>
fn set_affinity( &mut self, cpu_core_ids: &[usize], ) -> Result<(), ThreadSetAffinityError>
Sets the threads affinity to the provided set of cpu core ids. If one of
the cpu core id’s does not exist in the system the call will fail.
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