JAVEE初阶 多线程基础(九)

发布时间:2023年12月18日

一.线程池的概念

最开始,进程能够解决并发编程问题,但是由于频繁的创建销毁进程,使得消耗的CPU硬件资源特别多,后来引入了线程,但是线程的数量特别多,也会消耗较多的CPU硬件资源,那么就引入了
1.轻量级线程:纤程:是程序员在用户态调度,而不需要用到内核态.
2.线程池:直接创建好相应的线程,在线程使用完毕之后不直接释放线程,备下次使用

二.标准库中的线程池参数解析

在标准库中,我们用ThreadPoolExecutor来表示线程池.

在这里插入图片描述

第一个参数:corePoolSize:核心线程数
第二个参数:maximumPoolSize: 最大线程数
第三个参数:保持存活的时间 , 意思就是空闲时间超过这个阈值,就会被销毁掉
第四个参数: 任务队列,可以持有多个线程任务
第五个参数:通过工厂类,或者方法来封装new操作,就叫做工厂模式
在这里插入图片描述

第六个参数:拒绝策略

三. 拒绝策略中的四个表示方法

在这里插入图片描述

第一个 AbortPolicy : 继续添加任务, 直接抛出异常
第二个 CallerRunsPolicy : 新的任务由添加任务的线程负责执行
第三个: DiscardOldestPolicy : 丢弃最老的任务 执行新任务
第四个: DiscardPolicy : 丢弃最新的任务 但是老任务执行

四. 实现线程池

在这里插入图片描述

文章来源:https://blog.csdn.net/m0_73111651/article/details/135068116
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。