-- Receivers always block until there is data to receive.
-- If the channel is unbuffered,the sender blocks until the receiver has received the value.
-- If the channel has a buffer,the sender blocks only until the value has been copied to the buffer( wait for copy action); if the buffer is full,this means waiting until some receiver has retrieved a value(just looks like a unbuffered channel).