Spring Boot项目的线程池,建立多少个合适呢?

2020-07-13 17:15发布

Spring Boot项目的线程池应该怎么配置?合适的参数,就是 ThreadPoolTaskExecutor 的参数。

核心线程数量、最大线程数量、排队数量、其它——比如拒绝策略。

线程数量 的设置 和 JVM的内存 设置有关系吧?比如,JVM内存为 16MB,线程数量应该不会太大,否则会爆掉吧。
之前做了此简单的测试,新建了2万多个线程JVM就死掉了,JVM内存配置了十几个MB。

要是JVM配置 512MB、1GB,或许,线程数量可以达到 万级、十万级?此时,线程切换会不会耗费大量资源呢?是否又和 电脑的CPU核心数量 有关系了?

期待一个 综合性的回复(最佳实践啦),谢谢!

标签:
1条回答
乱世女痞
2楼-- · 2020-07-13 17:47

线程池建多少个线程,跟cpu的核数有关系,一般都是cpu的核数两倍多一点,再多就是排队了,有个最大排队数量,

查看更多
登录 后发表回答