【发布时间】:2022-01-16 17:26:42
【问题描述】:
我想知道 Java 中多个线程池是如何竞争 CPU 资源的?我有多个线程池用于不同的任务。如果我的 CPU 有 N 个内核,并且我为每个线程池分配了 N 个最大线程。
- 如果所有线程池同时启动它们的任务,是否意味着它们会一起竞争 CPU 资源?
- 它们如何相互竞争?每个线程是否持有一段时间的 CPU 资源?还是每个线程池都持有一段时间的 CPU 资源?
为不同的任务使用不同的线程池的好处是服务不会被饿死。同时,这是否意味着更多的线程池会导致更多的上下文切换并使程序变慢?
一般来说,多线程池比单线程池更好吗?
【问题讨论】:
标签: java concurrency