Code Explainers
public class WorkPipeline { private final BlockingQueue<Task> queue = new LinkedBlockingQueue<>(1000); private static final Task POISON = new Task(-1, null); private final ExecutorService consumers = Executors.newFixedThreadPool(4);