Java如何依据cpu核数设置合适的线程数

1:获取cpu核心数:

Runtime.getRuntime().availableProcessors();

创建线程池:

执行s.newFixedThreadPool(nThreads);//nThreads为线程数

2:只要服务器内存足够,CPU核心数量较多,数据处理相对稳健。
注意不要一次分配数千个

线程池设的的大小不能超过cpu数吗

线程的数量可以超过CPU的数量,一个CPU核心可以运行多个线程共享时间。
有成千上万的细线。
但一般来说,如果线程池的数量等于CPU核心的数量,性能会更好。