scoped_pool

Struct WaitGroup

Source
pub struct WaitGroup { /* private fields */ }
Expand description

A synchronization primitive for awaiting a set of actions.

Adding new jobs is done with submit, jobs are completed with complete, and any thread may wait for all jobs to be completed with join.

Implementations§

Source§

impl WaitGroup

Source

pub fn new() -> Self

Create a new empty WaitGroup.

Source

pub fn waiting(&self) -> usize

How many submitted tasks are waiting for completion.

Source

pub fn submit(&self)

Submit to this WaitGroup, causing join to wait for an additional complete.

Source

pub fn complete(&self)

Complete a previous submit.

Source

pub fn poison(&self)

Poison the WaitGroup so all joining threads panic.

Source

pub fn join(&self)

Wait for submits to this WaitGroup to be completed.

Submits occuring completely before joins will always be waited on.

Submits occuring concurrently with a join may or may not be waited for.

Before submitting, join will always return immediately.

Trait Implementations§

Source§

impl Default for WaitGroup

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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.