/// use std::time::Duration;
///
/// let pair = Arc::new((Mutex::new(false), Condvar::new()));
/// use std::time::Duration;
///
/// let pair = Arc::new((Mutex::new(false), Condvar::new()));
///
/// thread::spawn(move || {
/// let (lock, cvar) = &*pair2;
///
/// thread::spawn(move || {
/// let (lock, cvar) = &*pair2;
///
/// // Inside of our lock, spawn a new thread, and then wait for it to start.
/// thread::spawn(move|| {
///
/// // Inside of our lock, spawn a new thread, and then wait for it to start.
/// thread::spawn(move|| {
///
/// thread::spawn(move|| {
/// let (lock, cvar) = &*pair2;
///
/// thread::spawn(move|| {
/// let (lock, cvar) = &*pair2;
///
/// thread::spawn(move|| {
/// let (lock, cvar) = &*pair2;
///
/// thread::spawn(move|| {
/// let (lock, cvar) = &*pair2;
///
/// thread::spawn(move|| {
/// let (lock, cvar) = &*pair2;
///
/// thread::spawn(move|| {
/// let (lock, cvar) = &*pair2;
/// use std::time::Duration;
///
/// let pair = Arc::new((Mutex::new(false), Condvar::new()));
/// use std::time::Duration;
///
/// let pair = Arc::new((Mutex::new(false), Condvar::new()));
///
/// thread::spawn(move|| {
/// let (lock, cvar) = &*pair2;
///
/// thread::spawn(move|| {
/// let (lock, cvar) = &*pair2;
/// use std::time::Duration;
///
/// let pair = Arc::new((Mutex::new(true), Condvar::new()));
/// use std::time::Duration;
///
/// let pair = Arc::new((Mutex::new(true), Condvar::new()));
///
/// thread::spawn(move|| {
/// let (lock, cvar) = &*pair2;
///
/// thread::spawn(move|| {
/// let (lock, cvar) = &*pair2;
///
/// thread::spawn(move|| {
/// let (lock, cvar) = &*pair2;
///
/// thread::spawn(move|| {
/// let (lock, cvar) = &*pair2;
///
/// thread::spawn(move|| {
/// let (lock, cvar) = &*pair2;
///
/// thread::spawn(move|| {
/// let (lock, cvar) = &*pair2;