Java执行程序服务线程池

背后:

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

private final ExecutorService pool;
pool = Executors.newFixedThreadPool(10);

然后尝试提交10个以上的任务(例如,12个任务);

for (int i = 0 ; i < 12 ; i++) {
    pool.execute(new Handler(myRunnable));
}

额外任务会发生什么(按照12个任务的示例,另外两个任务)?它们会在线程完成工作之前被阻塞吗?

萨希尔·穆图(Sahil Muthoo):

将Javadoc引用为Executors.newFixedThreadPool(int nThreads)强调我的):

创建一个线程池,该线程池重用在共享的无边界队列上操作的固定数量的线程。在任何时候,最多nThreads个线程都是活动的处理任务。如果在所有线程都处于活动状态时提交了其他任务,则它们将在队列中等待,直到某个线程可用为止如果在关闭之前执行过程中由于执行失败导致任何线程终止,则在执行后续任务时将使用新线程代替。池中的线程将一直存在,直到明确将其关闭。

像Java并发框架一样成熟的Javadoc包含丰富的知识。保持靠近。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java线程池执行程序监视

Java线程池大小(执行程序)

从执行程序服务池(JAVA)查找等待线程的作业数量?

Java-使用执行程序服务的线程

在线程池执行程序的线程上设置超时

Java 7中“ pool.execute”(线程池执行程序)的用法

java thead池执行程序如何处理中断的线程

解释Akka线程池执行程序配置参数

android looper和执行程序线程池之间的区别

通过执行程序重用Java线程

如何使主线程等待执行程序服务线程完成

Java AWS SDK 2.x 异步客户端 - 无法覆盖线程池执行程序

如何在Java中使用线程池执行程序同时运行单个Java应用程序两次

在grpc Spring Boot中关闭自定义线程池执行程序

执行程序ScheduledThreadPool“更多”线程池的作用是什么?

使用许多执行程序时,理想/最佳线程池大小是多少?

在执行程序中指定线程池大小不起作用

如何使Java执行程序具有相同的线程?

Java计划执行程序线程进入等待状态

(在驱动程序上)线程池和执行程序核心之间是什么关系?

了解Java执行程序服务关闭和awaitTermination

捕获当前线程的执行程序

正常关闭线程和执行程序

多线程查找执行程序

如何使用线程或执行程序服务在 servlet 内发送邮件?

如何从 Java 执行程序

Java线程池/执行器服务和wait()-线程和任务队列会怎样?

Java指派执行程序由于某种原因失败时,停止执行程序服务

为同时发起出站调用的请求设置HTTP连接池和线程执行程序池是否有意义?