pub fn pop(&self) -> Option<T> {
        let mut tail = self.tail.load(Ordering::Relaxed);
        loop {
            let length = self.head.load(Ordering::Relaxed) as i64 - tail as i64;
            if length <= 0 {
                return None;
            }

            if self
                .tail
                .compare_exchange(tail, tail + 1, Ordering::Acquire, Ordering::Relaxed)
                .is_ok()
            {
                break;
            }

            tail = self.tail.load(Ordering::Relaxed);
        }
        Some(self.do_pop(tail))
    }
/// Pop an element from the queue and return `true` on success.
///
/// `false` will be returned if the queue is empty. If there's contention this operation will
/// wait until it's able to claim a slot in the queue.
Pop an element from the queue and return `true` on success.
`false` will be returned if the queue is empty. If there's contention this operation will
wait until it's able to claim a slot in the queue.
Pop an element from the queue and return ` true ` on success . ` false ` will be returned if the queue is empty . If there ' s contention this operation will wait until it ' s able to claim a slot in the queue .
pub fn pop(&self) -> Option<T> {
        let mut tail = self.tail.load(Ordering::Relaxed);
        loop {
            let length = self.head.load(Ordering::Relaxed) as i64 - tail as i64;
            if length <= 0 {
                return None;
            }
            if self
                .tail
                .compare_exchange(tail, tail + 1, Ordering::Acquire, Ordering::Relaxed)
                .is_ok()
            {
                break;
            }
            tail = self.tail.load(Ordering::Relaxed);
        }
        Some(self.do_pop(tail))
    }
pub fn pop ( & self ) -> Option < T > { let mut tail = self . tail . load ( Ordering :: Relaxed ) ; loop { let length = self . head . load ( Ordering :: Relaxed ) as i64 - tail as i64 ; if length <= 0 { return None ; } if self . tail . compare_exchange ( tail , tail + 1 , Ordering :: Acquire , Ordering :: Relaxed ) . is_ok ( ) { break ; } tail = self . tail . load ( Ordering :: Relaxed ) ; } Some ( self . do_pop ( tail ) ) }
Pop an element from the queue and return `true` on success.
Pop an element from the queue and return ` true ` on success .
&self
&self