2026/4/18 12:36:54
网站建设
项目流程
制作个简单公司网站要多少钱,设计说明是什么意思,互联网营销师考证多少钱,还有做网站的必要吗等待唤醒机制生产者和消费者#xff08;常见方法#xff09;
void wait()当前线程等待#xff0c;直到被其他线程唤醒
void notify()随机唤醒单个线程
void notifyAll()唤醒所有线程等待唤醒机制的阻塞队列方式实现put数据时#xff1a;放不进去会等着#xff0c;叫做阻塞…等待唤醒机制生产者和消费者常见方法void wait()当前线程等待直到被其他线程唤醒void notify()随机唤醒单个线程void notifyAll()唤醒所有线程等待唤醒机制的阻塞队列方式实现put数据时放不进去会等着叫做阻塞take数据时取出第一个取不到的等着线程的六种状态线程池线程池的作用1减少线程创建和销毁的开销问题每次需要任务时都创建新线程完成后立即销毁会消耗大量CPU和内存资源。解决线程池复用已创建的线程避免频繁创建/销毁。2. 控制并发.数量防止系统过载问题无限制创建线程可能导致内存耗尽CPU过度切换上下文切换开销大系统不稳定解决线程池设置最大线程数控制同时运行的线程数量。3. 提高响应速度任务到达时通常已有空闲线程可以立即执行无需等待线程创建。4. 统一管理线程生命周期提供统一的调度、监控和资源回收机制。二、核心作用1. 资源复用线程作为系统稀缺资源重复使用已创建线程。类似数据库连接池避免频繁申请释放。2. 流量控制削峰填谷当突发大量请求时线程池通过队列缓冲核心线程 → 队列 → 非核心线程按配置策略避免瞬时高峰压垮系统。3. 提供灵活的任务调度策略支持多种队列有界/无界、优先级队列。支持拒绝策略当队列满且线程达上限时的处理方式。4. 提高系统可管理性可监控线程状态、活动线程数、完成任务数等。便于调优和问题诊断。运行过程线程池的参数创建线程池的对象任务拒绝策略线程池主要核心原理①创建一个池子池子中是空的②提交任务时池子会创建新的线程对象任务执行完毕线程归还给池子下回再次提交任务时不需要创建新的线程直接复用已有的线程即可但是如果提交任务时池子中没有空闲线程也无法创建新的线程任务就会排队等待线程池的大小线程池的缺点配置复杂参数需要根据场景调优不当配置可能导致队列堆积 → 内存溢出线程数不足 → 响应慢线程数过多 → CPU过度切换