The Finite Work Queue encapsulates the pattern where you need a series of consumers for a BlockingQueue, but which will only consume a fixed number of items.