使用线程池有什么好处

参考答案

使用线程池的好处,主要有以下三点:

1.   线程池的重用

  • 线程的创建和销毁的开销是巨大的,而通过线程池的重用,减少了大量不必要的开销,其线程执行速度得到突飞猛进的提升。

2、控制线程池的并发数

  • 并发:在某个时间段内,多个程序都处在执行和执行完毕之间,但在一个时间点上只有一个程序在运行。例如:鸟妈妈喂食,有很多小鸟,鸟妈妈需要一个个依次喂食,让每只小鸟都能吃到。但是,在一个时间点里,只能有一个小鸟能吃到食物。
  • 并行:在某个时间段里,每个程序按照自己独立异步的速度执行,程序之间互不干扰。例如:鸟妈妈认为这样喂食太费劲,于是为每只小鸟请了保姆,然后,在一个时间点里,每个小鸟都能同时吃到食物,互相不干扰。
  • 回到线程池,控制线程池的并发数可以有效的避免大量的线程池争夺CPU资源而造成堵塞。例如:鸟妈妈只有一个,要一个个依次喂食,有些小鸟等不及了,就会争抢着往前插队,而前面的小鸟不干了,互殴了起来。鸟妈妈很生气,干脆谁也别吃了,于是,最后小鸟们谁也没有食吃了。

3.  线程池可以对线程进行管理

  • 线程池可以提供定时、定期、单线程、并发数控制等功能。
  • 例如,通过ScheduledThreadPool线程池来执行S秒后,每隔N秒执行一次的任务。

以上,是Java面试题【使用线程池有什么好处】的参考答案。

 

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧