和朱晔一起复习Java并发(一):线程池 (2)

我们知道,Java的线程池默认情况下是更倾向于使用队列来存放任务而不是倾向于使用更多的线程来消化任务,只有当队列满了之后才会使用更多的线程池临时处理一下突发的任务增多。
有的时候,我们其实更希望的是更激进的方式,线程池优先开启更多的线程,而是把队列当成一个后备方案来使用。比如我们这个例子,任务执行的很慢,需要10s,每秒提交一个任务,如果线程池可以弹性到5个最大线程,那么20秒后有5个任务在执行,5个任务已经完成,还有10个在线程池里,这些任务最终都可以完成,而不是像之前因为线程池过晚扩张导致慢任务来不及处理。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgdxwx.html