一步步了解线程池之自定义-PriorityThreadPool
特点: 队列中有优先级比较的线程池
使用案例:
val pool: ExecutorService = ThreadPoolExecutor(3, 3, 0, TimeUnit.SECONDS,PriorityBlockingQueue<Runnable>()
)
复制代码
暂时先用java写着
public abstract class PriorityRunnable implements RUnnable, Comparable<PriorityRunnable> {private int priority;public PriorityRunnable(int priority) {if (priority < 0) {throw new IllegalArgumentException();}this.priority = priority;}public int getPriority() {return priority;}@Overridepublic int compareTo(@NonNull PriorityRUnnable another) {int me = this.priority;int anotherPri = another.getPriority();return me == anotherPri ? 0 : me < anotherPri ? 1 : -1;}@overridepublic void run() {doSomeThing();}protected abstract void doSomeThing();
}
复制代码
txt.click {for (i in 0..99) {val priority = ipool.execute(object: PriorityRunnable(priority) {override doSomeThing() {log("优先级${proiority}的任务被执行")try {Thread.sleep(2000)}catch (e: Exception) {e.printStackTrace()}}})}
}
复制代码
转载于:https://juejin.im/post/5cc564ebf265da0378759ff0
一步步了解线程池之自定义-PriorityThreadPool相关推荐
- springboot使用异步线程池执行自定义任务实例
文章目录 1.介绍 配置类 业务层 控制层 1.介绍 在Spring中存在一个AsyncConfigurer接口,它是一个可以配置异步线程池的接口,因此只需要Java配置文件,实现AsyncConfi ...
- Java高并发编程详解系列-线程池原理自定义线程池
之前博客的所有内容是对单个线程的操作,例如有Thread和Runnable的使用以及ThreadGroup等的使用,但是对于在有些场景下我们需要管理很多的线程,而对于这些线程的管理有一个统一的管理工具 ...
- 【Java线程】“打工人”初识线程池及自定义线程池实战
目录 理论 原理 线程池创建 工作流程图 拒绝策略 参数设置 四种线程池 实战 理论 聊一下为什么要使用线程池? 程序的运行本质,就是通过使用系统资源(CPU.内存.网络.磁盘等等)来完成信息的处理, ...
- 四种常用线程池及自定义线程池参数详细分析
文章目录 一.什么是线程池 二.常用的更方便的Executors工厂方法 三.自定义线程池 四.缓冲队列BlockingQueue 五. 排队的三种一般策略 六.拒绝策略 一.什么是线程池 线程池(英 ...
- 一篇文章带你搞定线程池的自定义创建和扩展
文章目录 一.自定义线程创建:ThreadFactory 二.扩展线程池 一.自定义线程创建:ThreadFactory 看了那么多有关线程池的介绍,不知道大家有没有思考过一个基本的问题:线程池中的线 ...
- 这么讲线程池,彻底明白了
大家好,我是老三,很高兴又和大家见面,最近降温,大家注意保暖. 这节分享Java线程池,接下来我们一步步把线程池扒个底朝天. 引言:老三取钱 有一个程序员,他的名字叫老三. 老三兜里没有钱,匆匆银行业 ...
- java并发之线程池
文章目录 @[TOC] 1:ThreadPoolExcutor (1):ThreadPoolExcutor构造函数 (2):构造函数的参数 (3):图示 核心线程数 最大线程数 阻塞队列 (4):一个 ...
- 2020最新Java线程池入门(超详细)
转 https://blog.csdn.net/weixin_43893397/article/details/104361154 [1]代码示例 /*** 线程池测试-自定义线程池创建方式* @si ...
- Springboot应用中线程池配置教程(2021版)
前言:日常开发中我们常用ThreadPoolExecutor提供的线程池服务帮我们管理线程,在Springboot中更是提供了@Async注解来简化业务逻辑提交到线程池中执行的过程.由于Springb ...
最新文章
- gulp项目配置指南
- 大数据人力资源服务平台正式上线
- android 上滑隐藏view,Android CoordinatorLayout + AppBarLayout(向上滚动隐藏指定的View)
- 正则表达式(Java版整理)
- JAVAEE框架之SpringMVC基础
- 安卓学习笔记---Activity
- 如何在{{input}}中使用action
- 它来了!IntelliJ IDEA 2020.1 稳定版发布
- MyBatis当多个请求参数时处理方式
- computed 计算选项
- Android kernel源码下载与编译
- 浅谈计算机网络技术应用及发展,【网络技术论文】计算机网络技术的应用及发展(共2891字)...
- 学生签到系统c代码_学生信息管理系统C代码
- python-普通数据分析-科比职业生涯数据分析
- XJOI一级一段题解(g++,即C++),也可视作C++算法竞赛教程
- 麻将判断胡牌 java_麻将胡牌逻辑 java
- python数据集处理一些方法备份(长期更新)
- 漏洞建议:实施 TLS_FALLBACK_SCSV。此外,要么完全禁用 SSLv3,要么禁用以通过 SSLv3 的 CBC 模式操作的所有密码套件
- A005-AS项目结构解析
- 【Python相关】PyCharm如何修改行注释颜色
热门文章
- [转载] JAVA从菜鸟【入门】到新手【实习】一一一一Python 内置函数,标准库与第三方库(拓展库),常用框架
- 洛谷——P4053 [JSOI2007]建筑抢修
- vue.js基础知识篇(1):简介、数据绑定
- 题目1008:最短路径问题(SPFA算法)
- SQLServer如何取得随机获取的数据库记录
- 基于c的xml文件解析(转)
- 【RobotStudio学习笔记】(一)软件的安装与初步测试
- matlab相位相关图像配准,数字图像处理,相位相关图像配准
- 天庭最牛系统 推荐下载_围观RecSys2020 | 推荐系统顶会说了啥?(附论文打包下载)...
- intouch负值显示0_17、定位的盒子居中显示