Java执行器服务线程池

Java执行器服务线程池,java,multithreading,threadpool,executorservice,Java,Multithreading,Threadpool,Executorservice,如果我使用Executor framework在java中创建具有10个线程的固定大小线程池: private final ExecutorService pool; pool = Executors.newFixedThreadPool(10); 然后尝试提交10个以上的任务(例如,12个任务) for(int i=0;i

如果我使用Executor framework在java中创建具有10个线程的固定大小线程池:

private final ExecutorService pool;
pool = Executors.newFixedThreadPool(10);
然后尝试提交10个以上的任务(例如,12个任务)

for(int i=0;i<12;i++){
execute(新处理程序(myRunnable));
}

额外的任务会发生什么情况(根据12个任务的示例,额外的两个任务)?在线程完成其工作之前,它们是否会被阻止?

引用执行器的Javadoc。newFixedThreadPool(int-nThreads)(重点):

创建一个线程池,该线程池重用在共享无界队列上运行的固定数量的线程。在任何时候,最多N个线程将是活动的处理任务如果在所有线程都处于活动状态时提交其他任务,它们将在队列中等待,直到有线程可用。如果任何线程在关机之前的执行过程中由于故障而终止,那么如果需要执行后续任务,将使用一个新线程代替它。池中的线程将一直存在,直到显式关闭


与Java并发框架一样成熟的Javadocs for代码包含了丰富的知识。让他们靠近。

正如@Sahil所指出的,它就在右边!您可以通过阅读Javadoc来回答这个问题。我确实尝试过,但遇到了一些疑问。
for (int i = 0 ; i < 12 ; i++) {
    pool.execute(new Handler(myRunnable));
}