A one-shot channel is used for sending a single message between
asynchronous tasks. The channel function is used to create a
Sender and Receiver handle pair that form the channel.
Non-RT fallback — uses parking_lot::Mutex for the common case.
PI semantics are not needed because the scheduler does not
preempt the lock holder by priority.