【零基础学java】(等待唤醒机制,线程池补充)

等待唤醒机制

生产者和消费者(常见方法)
void wait()当前线程等待,直到被其他线程唤醒
void notify()随机唤醒单个线程
void notifyAll()唤醒所有线程

等待唤醒机制的阻塞队列方式实现

put数据时:放不进去会等着,叫做阻塞

take数据时:取出第一个,取不到的等着

线程的六种状态

线程池

线程池的作用

1减少线程创建和销毁的开销

  • 问题:每次需要任务时都创建新线程,完成后立即销毁,会消耗大量CPU和内存资源。

  • 解决:线程池复用已创建的线程,避免频繁创建/销毁。

2. 控制并发.数量,防止系统过载

  • 问题:无限制创建线程可能导致:

    • 内存耗尽

    • CPU过度切换(上下文切换开销大)

    • 系统不稳定

  • 解决:线程池设置最大线程数,控制同时运行的线程数量。

3. 提高响应速度

  • 任务到达时,通常已有空闲线程可以立即执行,无需等待线程创建。

4. 统一管理线程生命周期

  • 提供统一的调度、监控和资源回收机制。


二、核心作用

1. 资源复用

  • 线程作为系统稀缺资源,重复使用已创建线程。

  • 类似数据库连接池,避免频繁申请释放。

2. 流量控制(削峰填谷)

  • 当突发大量请求时,线程池通过队列缓冲:

    • 核心线程 → 队列 → 非核心线程(按配置策略)

  • 避免瞬时高峰压垮系统。

3. 提供灵活的任务调度策略

  • 支持多种队列(有界/无界、优先级队列)。

  • 支持拒绝策略(当队列满且线程达上限时的处理方式)。

4. 提高系统可管理性

  • 可监控线程状态、活动线程数、完成任务数等。

  • 便于调优和问题诊断。

运行过程

线程池的参数

创建线程池的对象

任务拒绝策略

线程池主要核心原理


①创建一个池子,池子中是空的
②提交任务时,池子会创建新的线程对象,任务执行完毕,线程归还给池子
下回再次提交任务时,不需要创建新的线程,直接复用已有的线程即可

但是如果提交任务时,池子中没有空闲线程,也无法创建新的线程,任务就会排队等待

线程池的大小

线程池的缺点

  • 配置复杂(参数需要根据场景调优)

  • 不当配置可能导致:

    • 队列堆积 → 内存溢出

    • 线程数不足 → 响应慢

    • 线程数过多 → CPU过度切换

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1150920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动资源调度AI工具:架构师降低云成本的8个使用技巧

自动资源调度AI工具:架构师降低云成本的8个实战技巧 副标题:从优化策略到落地实践,用AI帮你搞定云资源浪费 摘要/引言 作为云架构师,你是否经常遇到这样的困境: 业务峰值时资源不够用,导致服务延迟甚至宕机…

AI应用架构师如何解决社会学研究模型训练问题?这6款工具帮你

AI应用架构师如何解决社会学研究模型训练问题?这6款工具帮你 1. 引入与连接 1.1 引人入胜的开场 想象一下,你是一位社会学家,试图研究社交媒体对青少年心理健康的影响。你收集了海量的数据,包括青少年在社交媒体上的行为记录、心理…

L298N电机驱动原理图常见问题排查:智能小车专用解析

L298N驱动翻车实录:智能小车电机不转、芯片发烫?一文搞定原理图设计坑点从“嗡嗡响却不走”说起:一个典型的智能小车调试现场上周,有位学生在实验室群里发了一段视频:一辆刚组装好的四轮小车通电后,两个电机…

【零基础学java】(网络编程)

前言什么是网络编程 在网络通信协议下,不同计算机上运行的程序,进行的数据传输。 应用场景:即时通信、网游对战、金融证券、国际贸易、邮件、等等。 不管是什么场景,都是计算机跟计算机之间通过网络进行数据传输。 Java中可以使用java.net包下…

被生活投喂的小确幸,藏不住啦~​

捕捉日常中的小确幸留意身边细微的美好瞬间,比如清晨的阳光、一杯热茶、陌生人的微笑。这些看似平凡的细节往往能带来意想不到的温暖和快乐。养成记录的习惯,用手机拍照或写日记的方式将这些小确幸保存下来。回顾时会发现生活其实充满闪光点。培养感恩的…

【2025最新】基于SpringBoot+Vue的智能物流管理系统管理系统源码+MyBatis+MySQL

摘要 随着电子商务和全球贸易的快速发展,物流行业在国民经济中的地位日益凸显。传统物流管理方式依赖人工操作,效率低下且容易出错,难以满足现代企业对高效、精准物流服务的需求。智能物流管理系统通过整合信息技术与物流管理,能够…

大数据领域 Hadoop 安全机制深度剖析

大数据领域 Hadoop 安全机制深度剖析 关键词:大数据、Hadoop、安全机制、访问控制、数据加密 摘要:本文深入剖析了大数据领域中 Hadoop 的安全机制。随着大数据的快速发展,Hadoop 作为主流的大数据处理框架,其安全问题至关重要。文章从 Hadoop 安全机制的背景出发,详细阐述…

豪威集团港股上市:募资48亿港元 市值1529亿港元 虞仁荣再敲钟 身价超400亿

雷递网 雷建平 1月12日豪威集成电路(集团)股份有限公司(简称:“豪威集团”,股票代码:“00501”)今日在港交所上市。豪威集团发行价为104.8港元,发行4580万股,募资总额为4…

Keil5显示中文异常?快速理解文件编码匹配原理

Keil5中文注释乱码?一文讲透编码匹配的本质与实战修复你有没有遇到过这样的场景:打开一个刚从同事那里接过来的Keil工程,点开.c文件一看——“测试函数”变成了“”,注释里的“初始化完成”显示成“˜”……满屏乱码,根…

快速理解es客户端工具的节点状态管理功能

深入掌握 Elasticsearch 节点状态管理:从原理到实战你有没有遇到过这样的场景?线上集群突然搜索变慢,监控显示某个节点 CPU 飙升;或者日志系统写入延迟,查看 Kibana 发现集群状态是黄色。这时候,你的第一反…

ant-design-vue组件设置中文

//app.vue<script setup lang"ts"> import {inject} from vue //添加1 import BasicLayout from /layouts/BasicLayout.vue import {LoginUserStore} from /stores/LoginUserStore.tsconst locale inject(locale)//添加2const loginUserStore LoginUserStore…

全面讲解AUTOSAR BSW通信模块集成方法

深入AUTOSAR通信栈&#xff1a;从信号到总线的完整链路解析在现代汽车电子开发中&#xff0c;一个ECU如何将“车门已打开”这样的状态准确、及时地广播到整车网络&#xff1f;这背后并非简单的函数调用&#xff0c;而是一套高度标准化、分层解耦的通信机制在支撑——这就是AUTO…

兆易创新明日上市:CPE小米TCL是基石 认购3亿美元

雷递网 雷建平 1月12日兆易创新科技集团股份有限公司&#xff08;简称&#xff1a;“兆易创新”&#xff0c;股票代码&#xff1a;“3986”&#xff09;将于2026年1月13日在港交所上市。兆易创新发行价162港元&#xff0c;发行2891.58万股&#xff0c;募资总额为46.82亿港元。兆…

基于SpringBoot+Vue的大创管理系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】

&#x1f4a1;实话实说&#xff1a;CSDN上做毕设辅导的都是专业技术服务&#xff0c;大家都要生活&#xff0c;这个很正常。我和其他人不同的是&#xff0c;我有自己的项目库存&#xff0c;不需要找别人拿货再加价&#xff0c;所以能给到超低价格。摘要 随着高等教育改革的深入…

理解UDS诊断协议P2定时器管理:图解说明

深入理解UDS诊断中的P2定时器&#xff1a;从原理到实战的完整指南你有没有遇到过这样的情况——诊断仪发了一个请求&#xff0c;ECU明明“听见了”&#xff0c;却迟迟不回&#xff0c;结果诊断仪直接报超时失败&#xff1f;或者在刷写Bootloader时&#xff0c;刚进入编程会话就…

2026 CRM 排行榜:中小企业客户管理系统核心能力横向对比指南

在数字化转型背景下&#xff0c;中小企业对CRM的需求已从“单一客户管理”升级为“全流程业务协同”——不仅要管好客户&#xff0c;还要打通团队、进销存与上下游供应链。本文基于超兔一体云、Odoo、Nimble、有赞、探迹、用友CRM等主流品牌的公开能力&#xff0c;从客户管理、…

企业级图书进销存管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

&#x1f4a1;实话实说&#xff1a;CSDN上做毕设辅导的都是专业技术服务&#xff0c;大家都要生活&#xff0c;这个很正常。我和其他人不同的是&#xff0c;我有自己的项目库存&#xff0c;不需要找别人拿货再加价&#xff0c;所以能给到超低价格。摘要 在数字化时代背景下&…

植物医生冲刺深交所:半年营收10亿净利7902万 解勇控制79%股权

雷递网 雷建平 1月12日北京植物医生化妆品股份有限公司&#xff08;简称&#xff1a;“植物医生”&#xff09;日前更新招股书&#xff0c;准备在深交所主板上市。植物医生计划募资9.98亿元&#xff0c;其中&#xff0c;5.26亿元用于营销渠道及品牌建设项目&#xff0c;2.64亿元…

前后端分离Web在线考试系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程

&#x1f4a1;实话实说&#xff1a;CSDN上做毕设辅导的都是专业技术服务&#xff0c;大家都要生活&#xff0c;这个很正常。我和其他人不同的是&#xff0c;我有自己的项目库存&#xff0c;不需要找别人拿货再加价&#xff0c;所以能给到超低价格。摘要 随着信息技术的快速发展…

图解说明Windows下Vivado卸载全过程(附截图)

彻底卸载Vivado&#xff1f;这份Windows下的“清场”实战指南请收好&#xff08;附真实截图&#xff09; 你有没有遇到过这种情况&#xff1a;想重装最新版Vivado&#xff0c;结果安装程序弹出一句冰冷的提示—— “检测到旧版本存在&#xff0c;无法继续” &#xff1f; 或…