Java FixedThreadPool的两个线程被死锁,线程池会再创建两个线程吗?

Java FixedThreadPool的两个线程被死锁,线程池会再创建两个线程吗?,java,multithreading,threadpool,executorservice,Java,Multithreading,Threadpool,Executorservice,我使用exector创建了一个固定线程池 我提交了两个这样的任务,它们导致上述池的两个线程死锁。因为这两个线程永远不会从工作队列中拾取更多的任务。线程池是否足够智能,可以识别这种情况并再添加两个线程。 在我看来不是。 但面试官不同意我的观点。他说,若剩余的三个线程出现相同的死锁,那个么线程池就没用了。我永远不会使用这样的API。它被称为“FixedThreadPool”是有很好的理由的——它的运行程序和您告诉它的一样多。如果它试图再添加两个线程,那么它现在将有七个运行线程,因此它将违反它的约定。

我使用exector创建了一个固定线程池 我提交了两个这样的任务,它们导致上述池的两个线程死锁。因为这两个线程永远不会从工作队列中拾取更多的任务。线程池是否足够智能,可以识别这种情况并再添加两个线程。 在我看来不是。
但面试官不同意我的观点。他说,若剩余的三个线程出现相同的死锁,那个么线程池就没用了。我永远不会使用这样的API。

它被称为“FixedThreadPool”是有很好的理由的——它的运行程序和您告诉它的一样多。如果它试图再添加两个线程,那么它现在将有七个运行线程,因此它将违反它的约定。你的面试官说,如果剩余的线程出现相同的死锁,那么线程池就没用了。我认为这两种说法都没有任何问题。如果我错了,请纠正我,但我认为这两种说法都是正确的。是的,这两种说法都是正确的,但面试官说这会产生新的线索。