java - fixedThreadPool 的线程数是否可以少于分配的线程数?

标签 java multithreading threadpool executorservice

我有 Executors.newFixedThreadPool(/* nThreads= */2) 执行器服务。我注意到,有时当我将两个任务传递给执行程序服务时,它只运行一个任务,而我希望它运行两个任务。这可能吗?为什么?

我有两个相互通信的任务。这两个任务被放入大小为 2 的固定线程池中,因为我希望这两个任务同时运行。

最佳答案

执行器确保您能够最有效地重用线程轮询。但它并不能保证所有任务立即执行。我想知道您是否可以使用来自 2 个线程池的 2 个线程,而该线程池只有 1 个线程?

关于java - fixedThreadPool 的线程数是否可以少于分配的线程数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56347787/

相关文章:

c - 使用 pthread_join 时出现段错误(退出代码 139)

c++ - 线程等待如何影响程序的执行时间?

c# - 我应该将 Timer、ThreadPool、AutoResetEvent 或 "join"与 Impersonation 一起使用吗?

java - 线程池按顺序运行

java - 无法将数组发送到android中的listview

java - 使用 Scala 解析 Java 源代码

c++ - 如何放弃或取消 std::thread

java - 不兼容的类型 : list<object> cannot be converted to List<Usuario>

java - 使用 Fragment 类中的数据库填充 android ListView 时发生意外错误

java - 有没有办法确保将线程分配给指定的一组对象?