这个问题是关于Java中的线程池,可能非常通用。
Executors类提供了两类线程池,可以通过ThreadPoolExecutor类进行配置:ScheduledThreadPool和FixedThreadPool。
ThreadPoolExecutor允许您设置核心线程数和线程池的最大大小。
所以我的问题是如何选择这些值 - 可能与预期提交的处理器或线程数相关 - 以获得最大性能和/或最快的执行时间。
提前谢谢你,
恩里克
答案 0 :(得分:1)
无法获得最佳螺纹数量,这取决于您打算如何处理胎面。如果您计划使用踏板进行一些繁重的计算,您希望它们与计算机具有的处理器核心数相匹配。如果您打算将其用于网络请求,请使用您请求的尽可能多的线程。您是从磁盘读取还是写入?对每个位于不同磁盘上的文件使用一个线程。
其他那只是实验,看看是什么给你最好的结果。