1.什么是线程池?为什么要使用线程池

1.什么是线程池?为什么要使用线程池线程池作为java开发者必备技能,在日常开发中十分常见,所以从这一节开始我们介绍线程池。今天的内容有两点,第一点,为什么要使用线程池?第二点,什么是线程池?首先来看第一点,为什么要使用线程池?在

大家好,又见面了,我是你们的朋友全栈君。

线程池作为java开发者必备技能,在日常开发中十分常见,所以从这一节开始我们介绍线程池。

今天的内容有两点,第一点,为什么要使用线程池?第二点,什么是线程池?

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

 

首先来看第一点,为什么要使用线程池?

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

在没有使用线程池之前,我们是如何执行任务的?这是一个任务,任务内容是输出当前线程名称,接下来我们来执行该任务。

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

首先将任务创建出来,然后创建一个线程,接着将任务传递给线程,紧接着启动线程,任务就开始执行了。程序输出thread-0,

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 <span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

我们发现一个线程它只能执行一个任务,不能连续执行任务。例如这里有三个任务,它没法连续执行,没有上述这种写法

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

只能在创建两个线程去执行另外两个任务,程序分别输出三个线程的名称,这些线程执行。完任务以后就销毁了,如果再有任务时,则需要重新创建线程,这也暴露了一个问题,线程不能复用。

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 <span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

 

 

重复创建和销毁线程耗时耗资源,如果能复用就好了,复用的好处就是省时省资源。

下面我们就来看看线程池是如何执行任务的,还是这三个任务创建只有一个线程的线程池,

这个线程池里面只有一个线程,这个不是重点,重点是他里面的这个线程可以复用调用他的execute的方法,将需要执行的任务提交给线程池,任务提交以后,线程池会自动分配线程去执行提交过来的任务,最后记得调用它的shutdown方法关闭线程池,当线程池中的任务全部执行完毕以后,线程池则会关闭。线程池关闭以后无法再提交任务,程序输出三个名称一样的线程,说明一个县城执行了三个任务。足以证明线程得到复用。

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

 

 

 

对比线程,线程池的好处有很多,这里列举三个,

第一个,降低资源消耗,通过重复利用已创建的线程,降低线程创建和销毁造成的消耗。

第二个,提高响应速度,当有任务时,任务可以不需要等待线程创建就能立即执行。

第三个,提高现成的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性。使用线程池可以进行统一的分配、调优和监控。

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

什么是线程池?

介绍完为什么要使用线程池,接下来我们再来看看什么是线程池。线程池是一种基于池化思想管理现成的工具。

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

在没有现成值之前,当有任务需要执行时,

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

我们会创建一个线程,

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

然后将任务传递给线程,

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

并且一个线程只能执行一个任务,如果还有任务,我们就只能再创建一个线程去执行它,

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 <span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

当任务执行完时,线程就销毁了。

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

重复创建和销毁线程是一件很耗时耗资源的是,如果线程能复用,那么就减少很多不必要的消耗,于是线程池就孕而生了。

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

事先将线程创建后,当有任务需要执行时提交给线程池,

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

线程池分配线程去执行,

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

有再多的任务也不怕。线程池中的线程能复用,

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

执行完一个任务再接着执行其他任务。

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 <span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

当所有任务都执行完时,

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

我们可以选择关闭线程池,

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

也可以选择等待接收任务。

线程池的英文叫做threadpool,thread线程的意思,Pool池的意思,Threadpool线程池,这是线程池的核心UML类图。

<span role="heading" aria-level="2">1.什么是线程池?为什么要使用线程池

 

 

 

 

这里面的每一个元素后续章节都会讲到,最后总结一下本节的内容,本节介绍了为什么要使用线程池和什么是线程池,这里就不再赘述了。在实际开发中,线程池用的非常多,希望大家可以掌握它。下一节我们将介绍如何创建线程池,

本节的代码地址如下,大家有需要的话可以前去查看。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155725.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
全栈程序员-用户IM全栈程序员-用户IM
0 0

相关推荐

  • 软件测试常考面试题-软件测试面试宝典(一篇足矣)

    软件测试常考面试题-软件测试面试宝典(一篇足矣)

    https://blog.csdn.net/mj813/article/details/52451355,对原文进行整理问:软件测试的原则?答:https://blog.csdn.net/weixin_30363263/article/details/102986878问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决。1、将问题提交到缺陷…

    全栈程序员-用户IM 全栈程序员-用户IM
    2022年4月7日
  • JS 手机号码正则表达式验证[通俗易懂]

    JS 手机号码正则表达式验证[通俗易懂]

    JS 手机号码正则表达式验证[通俗易懂]//手机号码正则表达式验证functioncheckPhone(){varphone=document.getElementById(‘phone’).value;if(!(/^1[3456789]\d{9}$/.test(phone))){alert(“手机号码有误,请重填”);returnfalse;}…

    全栈程序员-用户IM 全栈程序员-用户IM
    2022年9月2日
  • <span role="heading" aria-level="2">java中的反射

    java中的反射

    java中的反射主要介绍以下几方面内容理解Class类理解Java的类加载机制学会使用ClassLoader进行类加载理解反射的机制掌握Constructor、Method、Field类的用法理解并掌

    全栈程序员-用户IM 全栈程序员-用户IM
    2022年7月1日
  • sql执行顺序的优先级是多少_sql执行语句的顺序

    sql执行顺序的优先级是多少_sql执行语句的顺序

    sql执行顺序的优先级是多少_sql执行语句的顺序SELECTDISTINCTcolumn,AGG_FUNC(column_or_expression),…FROMmytableJOINanother_tableONmytable.column=another_table.columnWHEREconstraint_expressionGROUPBYcolumnHAVINGconstraint_expressionORDERBYcolumnASC/DESC

    全栈程序员-用户IM 全栈程序员-用户IM
    2022年11月2日
  • 【UVA】1449-Dominating Patterns(AC自己主动机)

    【UVA】1449-Dominating Patterns(AC自己主动机)

    【UVA】1449-Dominating Patterns(AC自己主动机)

    全栈程序员-用户IM 全栈程序员-用户IM
    2022年1月29日
  • ‘hibernate.dialect’ must be set when no Connection avalable’

    ‘hibernate.dialect’ must be set when no Connection avalable’

    ‘hibernate.dialect’ must be set when no Connection avalable’

    全栈程序员-用户IM 全栈程序员-用户IM
    2021年9月10日

发表回复

您的电子邮箱地址不会被公开。

最新发布

  • idea删除项目「建议收藏」

    idea删除项目「建议收藏」

    2022年11月3日

  • 乱码_idea控制台中文乱码解决不了

    乱码_idea控制台中文乱码解决不了

    2022年11月3日

  • IntelliJ IDEA中怎么全局搜索替换(整个项目)(Eclipse)

    IntelliJ IDEA中怎么全局搜索替换(整个项目)(Eclipse)

    2022年11月3日

  • idea方法注解快捷键_idea生成方法的快捷键

    idea方法注解快捷键_idea生成方法的快捷键

    2022年11月2日

关注全栈程序员社区公众号

玻璃钢生产厂家商场大型美陈安装湖州玻璃钢陶瓷雕塑公司商场主题创意商业美陈公司韶关玻璃钢雕塑制品一米高雕塑用多少玻璃钢巢湖玻璃钢雕塑定做厂中山玻璃钢雕塑包括哪些徐州人物玻璃钢雕塑加工清远玻璃钢人物雕塑批发山东商场主题创意商业美陈制作商场美陈布置多少钱一米太湖石玻璃钢景观雕塑生产北京装饰商场美陈制作订做玻璃钢座椅雕塑气球商场美陈装饰哪里专业周口标牌玻璃钢仿铜雕塑大连玻璃钢彩绘雕塑浙江玻璃钢雕塑摆件销售公司潮州公仔玻璃钢动物雕塑商场合影美陈方式玻璃钢雕塑茶几定制吉林人物玻璃钢雕塑销售电话广东卡通造型玻璃钢雕塑工厂南昌环保玻璃钢雕塑订做价格玻璃钢雕塑墙价格四川商业商场美陈供货商公园玻璃钢雕塑造价鼓楼玻璃钢雕塑设计巴中玻璃钢造型雕塑营口批发供应沈阳玻璃钢花盆香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化