Creates a bounded mpsc channel for communicating between asynchronous tasks.
Being bounded, this channel provides backpressure to ensure that the sender
outpaces the receiver by only a limited amount. The channel’s capacity is
buffer + num-senders. In other words, each sender gets a
guaranteed slot in the channel capacity, and on top of that there are
buffer “first come, first serve” slots available to all senders.