相关疑难解决方法(0)

146
推荐指数
7
解决办法
10万
查看次数

FixedThreadPool vs CachedThreadPool:两个邪恶中较小的一个

所以我有一个程序产生线程(~5-150)执行一堆任务.最初我使用的是FixedThreadPool因为这个类似的问题表明它们更适合长寿命的任务,而且由于我对多线程的知识非常有限,我认为线程的平均寿命(几分钟)" 长寿 ".

但是,我最近添加了生成其他线程的功能,这样做超过了我设置的线程限制.在这种情况下,最好猜测并增加我可以允许的线程数或切换到一个CachedThreadPool所以我没有浪费线程?

初步尝试它们,似乎没有什么区别,所以我倾向于选择CachedThreadPool公正以避免浪费.但是,线程的生命周期是否意味着我应该选择一个FixedThreadPool并且只处理未使用的线程?这个问题使得看起来这些额外的线程没有浪费,但我希望澄清.

java multithreading executorservice java.util.concurrent threadpool

85
推荐指数
3
解决办法
6万
查看次数