首页 新闻 会员 周边 捐助

线程池隔离是什么?有什么意义?

0
悬赏园豆:10 [已解决问题] 解决于 2024-10-07 19:54

如题。
另外,
Spring Boot 中怎么做 线程池隔离?
Java 程序(JVM) 可以支持多少个 线程池?
之前看一篇博文,听说 一个 JVM 最多可以支持 2千~5千的线程,为啥?不是应该和 CPU核心数等有关系嘛——正相关?

快乐的总统95的主页 快乐的总统95 | 老鸟四级 | 园豆:3992
提问于:2024-10-04 20:10
< >
分享
最佳答案
0

线程是软件概念,是一段代码在内存中存在的一种形式;CPU核心是物理概念,是一个硬件概念;在不考虑超流水取码译码的情况下,一个CPU核心在一个时间点只能运行一个线程,同时由于现代操作系统(老式单片机系统除外)都是分时系统,也就是说现在的操作系统都是时间片轮转机制的,一个时间片的时间里面运行某个线程,当这个时间片时间结束进入下个时间片的时间里面就会从内存中导入下一个线程的运行指令进行运行,由此可见一个CPU核心所能运行的线程数在理论上是没有上限的;之所以现在的操作系统或者现在的软件系统(JVM等等)会对线程数做一定的限制,是因为线程的开启是需要占用内存空间的,并且操作系统会给一些特定的内存空间设置空间上限,一些软件系统(JVM等等)也会单独设置自己所属线程的数量大小,而且根据现有CPU性能(英特尔/AMD等等)如果非空闲的线程达到一定数量后会导致线程切换的周期过长于是会导致操作系统进入假死状态,因此就出现了你这里面所谓的一个 JVM 最多可以支持 2千~5千的线程这个概念。

收获园豆:10
Angry_Panda | 菜鸟二级 |园豆:474 | 2024-10-05 20:18

感谢。很详细了。
另,
标题中的 线程池隔离,其实是 指 不同的业务用不同的线程池来处理,避免互相影响。

快乐的总统95 | 园豆:3992 (老鸟四级) | 2024-10-05 20:54
其他回答(1)
0
thirteenthree | 园豆:216 (菜鸟二级) | 2024-10-08 15:11

thx.

支持(0) 反对(0) 快乐的总统95 | 园豆:3992 (老鸟四级) | 2024-10-08 15:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册