title: Producer Consumer - Using Executors.newFixedThreadPool
body: <p>My understanding of a Producer-Consumer pattern is that it could be implemented using a queue shared between the producer and the consumer. Producer submits work to a shared queue, consumer retrieves it and processes it. It could also be implemented by the producer directly submitting to the consumer (Producer threads submitting to Consumer's executor service directly). </p>
  
  <p>Now, I've been looking at the Executors class that provides some common implementations of thread pools. The method newFixedThreadPool, according to the spec, "reuses a fixed number of threads operating off a shared unbounded queue". Which queue are they talking about here? </p>
  
  <p>If the Producer directly submits a task to a consumer, is it the internal queue of the ExecutorService that contains the list of Runnables?</p>
  
  <p>Or is it the intermediate queue, in case the producer submits to a shared queue? </p>
  
  <p>May be I'm missing the whole point, but would someone please clarify?</p>