pub struct Barrier(/* private fields */);Expand description
A barrier enables multiple threads to synchronize the beginning of some computation.
Implementations§
Source§impl Barrier
impl Barrier
Sourcepub fn new(n: usize) -> Self
pub fn new(n: usize) -> Self
Creates a new barrier that can block a given number of threads.
A barrier will block n-1 threads which call Self::wait and then wake up all threads at once when the nth thread calls Self::wait.
Sourcepub async fn wait(&self) -> BarrierWaitResult
pub async fn wait(&self) -> BarrierWaitResult
Blocks the current thread until all threads have rendezvoused here.
Barriers are re-usable after all threads have rendezvoused once, and can be used continuously.
Trait Implementations§
Source§impl Unwrap for Barrier
impl Unwrap for Barrier
type StdImpl = Barrier
type TokioImpl = Barrier
Source§fn unwrap_std(self) -> Self::StdImpl
fn unwrap_std(self) -> Self::StdImpl
Unwraps the std underlying implementation of the MaybeFut type.
Source§fn unwrap_tokio(self) -> Self::TokioImpl
fn unwrap_tokio(self) -> Self::TokioImpl
Unwraps the tokio underlying implementation of the MaybeFut type.
Source§fn unwrap_std_ref(&self) -> &Self::StdImpl
fn unwrap_std_ref(&self) -> &Self::StdImpl
Unwraps the std underlying implementation of the MaybeFut type as a reference.
Source§fn unwrap_tokio_ref(&self) -> &Self::TokioImpl
fn unwrap_tokio_ref(&self) -> &Self::TokioImpl
Unwraps the tokio underlying implementation of the MaybeFut type as a reference.
Source§fn unwrap_std_mut(&mut self) -> &mut Self::StdImpl
fn unwrap_std_mut(&mut self) -> &mut Self::StdImpl
Unwraps the std underlying implementation of the MaybeFut type as a mutable reference.
Source§fn unwrap_tokio_mut(&mut self) -> &mut Self::TokioImpl
fn unwrap_tokio_mut(&mut self) -> &mut Self::TokioImpl
Unwraps the tokio underlying implementation of the MaybeFut type as a mutable reference.
Source§fn get_std(self) -> Option<Self::StdImpl>
fn get_std(self) -> Option<Self::StdImpl>
Safely unwraps the std underlying implementation of the MaybeFut type.
Source§fn get_tokio(self) -> Option<Self::TokioImpl>
fn get_tokio(self) -> Option<Self::TokioImpl>
Safely unwraps the tokio underlying implementation of the MaybeFut type.
Source§fn get_std_ref(&self) -> Option<&Self::StdImpl>
fn get_std_ref(&self) -> Option<&Self::StdImpl>
Safely unwraps the std underlying implementation of the MaybeFut type as a reference.
Source§fn get_tokio_ref(&self) -> Option<&Self::TokioImpl>
fn get_tokio_ref(&self) -> Option<&Self::TokioImpl>
Safely unwraps the tokio underlying implementation of the MaybeFut type as a reference.
Source§fn get_std_mut(&mut self) -> Option<&mut Self::StdImpl>
fn get_std_mut(&mut self) -> Option<&mut Self::StdImpl>
Safely unwraps the std underlying implementation of the MaybeFut type as a mutable reference.
Source§fn get_tokio_mut(&mut self) -> Option<&mut Self::TokioImpl>
fn get_tokio_mut(&mut self) -> Option<&mut Self::TokioImpl>
Safely unwraps the tokio underlying implementation of the MaybeFut type as a mutable reference.
Auto Trait Implementations§
impl !Freeze for Barrier
impl RefUnwindSafe for Barrier
impl Send for Barrier
impl Sync for Barrier
impl Unpin for Barrier
impl UnwindSafe for Barrier
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