2.10.4. Producers and Consumers