我对生产者 - 消费者模式的理解是,它可以使用生产者和消费者之间共享的队列来实现.生产者将工作提交给共享队列,消费者检索它并处理它.它也可以由生产者直接提交给消费者来实现(生产者线程直接提交给Consumer的执行者服务).
现在,我一直在查看Executors类,它提供了一些线程池的常见实现.根据规范,方法newFixedThreadPool"重用在共享无界队列中运行的固定数量的线程".他们在这里谈论哪个队列?
如果Producer直接向使用者提交任务,那么它是包含Runnables列表的ExecutorService的内部队列吗?
或者它是中间队列,以防生产者提交到共享队列?
可能是我错过了重点,但请有人澄清一下吗?