一、对于一个8核的的高性能CPU来说在多线程场景下是不是线程池设置的越大越好?如何确定线程池的大小,设置不当会带来什么问题
1️⃣并非越大越好,线程池大小的设置要根据 CPU 处理的任务特征来区别对待。
2️⃣如果线程执行的是 CPU 密集型任务服务器的物理内核数就应该被视为是有限的资源,这样创建的线程数就不应该超过系统的内核数。
3️⃣如果线程执行的是 IO 密集型任务就要根据 IO 的占比和速度进行性能测试来确认线程池的大小。
4️⃣线程池大小设置的过小或者过大都会导致系统产生问题无法利用系统资源,如果线程池的线程数量过少这使得用户需要花费很长时间来等待请求的响应。但是,如果允许创建过多的线程,会产生线程不断切换,系统的资源又会被耗尽,这会对系统造成更大的破坏,甚至宕机。