Imagine putting a rubber duck into one end of a waterway and watching it emerge at the other. A pipe moves data in much the same way: a writer sends it, and a reader receives it. A named pipe gives that route a system-visible name, so processes can use it to transfer data on the same computer or across a network. section 5.3 section 5.6
Named pipes transfer data in first-in, first-out order: requests are processed in the order they arrive. That is why they are also called FIFOs. Unlike an unnamed pipe, which relies on related tasks sharing file descriptors, a named pipe offers a simple interface for communication between processes. section 5.3 section 5.6
A useful contrast
A Python multiprocessing.Pipe example passes a “Rubber duck” message from a writing thread to a reading thread. It demonstrates the writer-and-reader pattern, but it creates an unnamed pipe—not a named-pipe implementation. section 5.3
Choose the mechanism to fit the communication problem. Pipes suit synchronous producer–consumer communication; message queues support asynchronous exchange, while sockets offer a two-way channel through a different interface. section 5.6
