博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一步步了解线程池之自定义-PriorityThreadPool
阅读量:6360 次
发布时间:2019-06-23

本文共 1290 字,大约阅读时间需要 4 分钟。

特点: 队列中有优先级比较的线程池

使用案例:

val pool: ExecutorService = ThreadPoolExecutor(    3,     3,     0,     TimeUnit.SECONDS,    PriorityBlockingQueue
())复制代码
暂时先用java写着public abstract class PriorityRunnable implements RUnnable, Comparable
{ private int priority; public PriorityRunnable(int priority) { if (priority < 0) { throw new IllegalArgumentException(); } this.priority = priority; } public int getPriority() { return priority; } @Override public int compareTo(@NonNull PriorityRUnnable another) { int me = this.priority; int anotherPri = another.getPriority(); return me == anotherPri ? 0 : me < anotherPri ? 1 : -1; } @override public void run() { doSomeThing(); } protected abstract void doSomeThing();}复制代码
txt.click {    for (i in 0..99) {        val priority = i        pool.execute(object: PriorityRunnable(priority) {            override doSomeThing() {                log("优先级${proiority}的任务被执行")                try {                    Thread.sleep(2000)                }catch (e: Exception) {                    e.printStackTrace()                }            }        })    }}复制代码

转载于:https://juejin.im/post/5cc564ebf265da0378759ff0

你可能感兴趣的文章
Sprint 3.0
查看>>
产品设计与开发 之 开头语
查看>>
447. Number of Boomerangs
查看>>
〖Linux〗gvim使用alt+1,2,3..进行标签页切换
查看>>
IO 之 File 类
查看>>
权限认证与授权(Shrio 框架)
查看>>
最初级程序员的思维“练习”
查看>>
mysql中变量
查看>>
关于IE6.7.8.FF兼容的问题
查看>>
表单元素选择器
查看>>
null的数据类型
查看>>
hdu Big Number 求一个数的位数
查看>>
UML里边界类、控制类和实体类三类
查看>>
super语句不必须放在方法第一行。
查看>>
AT2371 Placing Squares
查看>>
sqoop 从sqlserver2008 导入数据到hadoop
查看>>
RChain节点通信机制
查看>>
团队任务二
查看>>
AJAX的get和post请求原生编写方法
查看>>
Java基础学习总结(59)——30 个java编程技巧
查看>>