This approach means that only one producer can send messages and only one consumer can read them. In Rust, this means we have a single Sender and a single Receiver, neither of which can be cloned. The standard library has an internal implementation of a Single-Produce Single-Consumer (SPSC) queue, but this type is not available for users. If you need this type of queue, try the bounded-spsc-queue crate.