pub fn await(&self) {
        // get lock, indefinite wait
        let rx = self.rx.lock().unwrap();
        // while remaining > 0, receive on channel and decrement count
        while self.remaining.load(Ordering::SeqCst) > 0 {
            rx.recv().unwrap();
            self.remaining.fetch_sub(1, Ordering::SeqCst);
        }
    }
/// Block until the count reaches 0
Block until the count reaches 0
Block until the count reaches 0
pub fn await(&self) {
        // get lock, indefinite wait
        let rx = self.rx.lock().unwrap();
        // while remaining > 0, receive on channel and decrement count
        while self.remaining.load(Ordering::SeqCst) > 0 {
            rx.recv().unwrap();
            self.remaining.fetch_sub(1, Ordering::SeqCst);
        }
    }
pub fn await ( & self ) { // get lock, indefinite wait let rx = self . rx . lock ( ) . unwrap ( ) ; // while remaining > 0, receive on channel and decrement count while self . remaining . load ( Ordering :: SeqCst ) > 0 { rx . recv ( ) . unwrap ( ) ; self . remaining . fetch_sub ( 1 , Ordering :: SeqCst ) ; } }
Block until the count reaches 0
Block until the count reaches 0
&self