This recipe provides a multithreaded multiplexer/demultiplexer to allow transactions to be performed in parallel on a single channel.[1]