Struct Unparker
pub struct Unparker { /* private fields */ }
Unparks a thread parked by the associated Parker.
Implementations
impl Unparker
fn unpark(&self)Atomically makes the token available if it is not already.
This method will wake up the thread blocked on
parkorpark_timeout, if there is any.Examples
use thread; use Duration; use Parker; let p = new; let u = p.unparker.clone; spawn; // Wakes up when `u.unpark()` provides the token. p.park; # sleep; // wait for background threads closed: https://github.com/rust-lang/miri/issues/1371fn into_raw(this: Unparker) -> *const ()Converts an
Unparkerinto a raw pointer.Examples
use ; let p = new; let u = p.unparker.clone; let raw = into_raw; # let _ = unsafe ;unsafe fn from_raw(ptr: *const ()) -> UnparkerConverts a raw pointer into an
Unparker.Safety
This method is safe to use only with pointers returned by
Unparker::into_raw.Examples
use ; let p = new; let u = p.unparker.clone; let raw = into_raw; let u = unsafe ;
Trait Implementations
impl Clone for Unparker
fn clone(&self) -> Unparker
impl Debug for Unparker
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Send for Unparker
impl Sync for Unparker
Auto Trait Implementations
impl Freeze for Unparker
impl RefUnwindSafe for Unparker
impl Unpin for Unparker
impl UnsafeUnpin for Unparker
impl UnwindSafe for Unparker
Blanket Implementations
impl<T> Any for Unparker
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Unparker
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Unparker
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for Unparker
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for Unparker
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for Unparker
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for Unparker
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for Unparker
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for Unparker
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>