This problem reiterates the scenario from the Thread pool with a single thread section. This time, we assume that the producer (more than one producer can be used as well) checks a bulb in no more than one second. Moreover, a consumer (packer) needs a maximum of 10 seconds to pack a bulb. The producer and consumer times can be shaped as follows:
private static final int MAX_PROD_TIME_MS = 1 * 1000;private static final int MAX_CONS_TIME_MS = 10 * 1000;
Obviously, in these conditions, one consumer cannot face the incoming flux. The queue used for storing bulbs until they are packed will continuously increase. The producer will add to this queue much faster than the consumer can poll. Therefore, more consumers ...