Struct OwnedThread

Source
pub struct OwnedThread<T> { /* private fields */ }
Expand description

The OwnedThread represents a handle to a thread that was spawned using spawn_owned.

Whenever the OwnedThread is dropped, the underlying thread is signaled to stop execution.

Note however that the underlying thread may not exit immediately. It is only guaranted, that the thread will receive the signal to abort, but how long it will keep running depends on the function that is passed when starting the thread.

Implementations§

Source§

impl<T> OwnedThread<T>

Source

pub fn join(self) -> Result<T>

this function is similar to the join function of a std::JoinHandle. When join is called, the thread is signalled to stop and is afterward joined. Therefore this call is blocking and can return the result from the thread.

Source

pub fn stop(&self)

Signal the underlying thread to stop. This function is non-blocking.

Trait Implementations§

Source§

impl<T: Debug> Debug for OwnedThread<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T> Drop for OwnedThread<T>

Drop the OwnedThread. Blocks until the owned thread finishes!

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<T> Freeze for OwnedThread<T>

§

impl<T> !RefUnwindSafe for OwnedThread<T>

§

impl<T> Send for OwnedThread<T>

§

impl<T> Sync for OwnedThread<T>

§

impl<T> Unpin for OwnedThread<T>

§

impl<T> !UnwindSafe for OwnedThread<T>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.