使用合适大小的线程池
当使用并行流时,Java虚拟机会使用一个线程池来处理流的元素。这个线程池的大小取决于处理器数量和一些其他因素。如果线程池太大,那么就会浪费资源,而如果线程池太小,那么就会造成执行时间变长。
正确的做法是根据实际情况确定线程池的大小。可以通过Java的Runtime类来获取处理器的数量,然后将线程池的大小设置为处理器数量加上一个常数。例如:
int processors = Runtime.getRuntime().availableProcessors(); ForkJoinPool forkJoinPool = new ForkJoinPool(processors + 1);
在这个例子中,ForkJoinPool的大小被设置为处理器数量加1。这样可以确保线程池的大小不会太小也不会太大,从而达到最佳性能。
上一篇:并行流 - 有多少并行?
下一篇:并行流的性能