我正在使用ThreadPoolExecutor设置服务,并且当前正在通过将核心池大小==最大池大小设置为64使用固定线程池。它工作正常,但我想知道是否可以像我那样对其进行调整知道我的大多数请求只需要1个线程即可完成(尽管有些请求肯定会占用全部64个线程)。
如果我将核心池大小设置为1,将最大大小设置为64,那么我感觉我的内存使用率将提高99%,但是我也认为,请求进入时会涉及一些开销需要一个以上的线程才能完成(一旦队列已满,线程池将必须创建新线程)。我应该担心这种开销,还是值得提高内存使用效率?