pub fn bounded<T>(depth: usize) -> (Sender<T>, Receiver<T>)
Make a blocking channel with finite size
Returns (sender, receiver)
(sender, receiver)