第二章 第三四节 线程池技术以及使用 上

线程池技术介绍

1.线程池的作用

​ 避免重复不断地创建、销毁线程,浪费系统资源

​ PS:线程池可以成一个容器

​ 多线程业务:发短信或者发送邮件(异步任务);请求第三方接口(异步任务);

2.线程池原理

3.线城池的销毁

​ shutDown 等待正在执行任务执行完毕,才会销毁

​ shutDownNow 立即停止所有线程池执行任务销毁

4.线程池的创建

​ 1.直接利用函数创建

​ Executors 创建线程池

​ ThreadPoolExecutor 方法

​ 2.和spring的整合

​ ThreadPoolTaskExecutor

线程池的使用

1.线程池的测试

new ThreadPoolExecutor(mainNm, maxCore, times,timeUnit, BlockingQueue)
    
//mainNm 主线程个数,一般为cpu的两倍
//maxCore 最大线程数量, cpu*4
//times 线程空闲时间
//timeUnit 时间单位
//BlockingQueue 阻塞队列
//队列分类
 // SynchronousQueue; 一个无界的缓存队列,不能指定队列容量
 // ArrayBlockingQueue; 一个有界的缓存队列,可以指定队列容量
 // LinkedBlockingDeque; 无界的缓存队列,可以指定队列容量
    threadPoolExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
    threadPoolExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardOldestPolicy());
    // 也可以通过上述创建拒绝策略
posted @   两块五的菜鸟  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示