前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >线程池的原理分析

线程池的原理分析

作者头像
cuijianzhe
发布2023-07-18 18:50:47
1190
发布2023-07-18 18:50:47
举报
文章被收录于专栏:cuijianzhecuijianzhe
线程使用上的问题

new Thread().start();

  1. 线程的频繁创建和销毁
  2. 线程的数量过多,会造成 CPU 资源的开销。
  3. 上下文切换 (消耗 CPU 资源)
  • 池化技术

连接池、对象池、内存池、线程池 。。。 池化技术的核心: 复用

线程池的设计思考

需求: 实现线程的重复使用.

让线程重复使用的唯一方法,就是使线程不结束

通过阻塞队列,实现线程复用

线程池的实现原理分析

线程池实现只需要一个阻塞队列就可以实现,当线程去阻塞队列拿任务的时候,如果阻塞队列没有任务,那么该线程就阻塞在这里。

线程池添加任务的原理
ca7b2f08427a5820d890ccaa739283120220411155541pvw862i.png
ca7b2f08427a5820d890ccaa739283120220411155541pvw862i.png
线程池如何设置合理的线程数量

IO 密集型 CPU 2core+1 CPU 密集型 CPU +1

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 线程池的设计思考
  • 线程池的实现原理分析
  • 线程池添加任务的原理
  • 线程池如何设置合理的线程数量
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档