关于Java线程池设计疑问?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

关于Java线程池设计疑问?

2016-03-03 16:07:36 1833 1

设计一个线程池,这个线程池的任务有多种状态(类似短信的发送中、已发送、送达、已读等等),需要保证同一个任务的不同状态在一个线程处理,以保证有序处理。业务上比较适合使用 CachedThreadPool。

问题在于怎么保证同一个任务的不同状态在一个线程处理呢。

取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 18:51:35

    我想并不是线程池的问题,问题是同一任务不可并行处理。简单的处理方式就是在处理时,同任务加lock,用一个线程池。

    如:

    任务:class Task{ ReentrantLock lock=new ReentrantLock() }

    处理:try{ task.getLock().lock(); //do something }finally{ task.getLock().unlock();}

    这种简单处理有个小问题,就是如果处理时间长,状态多时,会占用线程池数量。

    复杂的可能需要引入队列概念。

    0 0
相关问答

0

回答

请问java中合并两个HashMap性能最优的做法是什么?

2021-11-07 10:36:45 127浏览量 回答数 0

0

回答

请问java中格式化打印JSON数据内容性能最快的做法是什么?

2021-11-07 10:36:48 132浏览量 回答数 0

0

回答

请问使用java移动某个JSON数据节点性能最优的做法是什么?

2021-11-07 10:43:22 140浏览量 回答数 0

0

回答

请问使用java向JSON数据key中插入value数据性能最优的做法是什么?

2021-11-07 10:43:26 233浏览量 回答数 0

0

回答

请问java中有哪方法可以提高JVM启动性能速度?

2021-11-07 10:46:57 114浏览量 回答数 0

0

回答

请问java中判断所有XML节点值是否为Float浮点型数据性能最优的做法是什么?

2021-11-07 10:55:33 143浏览量 回答数 0

0

回答

Java性能调优,使用java移动某个XML节点性能最优的做法是什么?

2021-11-07 21:33:58 419浏览量 回答数 0

0

回答

Java性能调优,java中使用正则表达式对电话号话验证性能最快方法的是什么?

2021-11-12 17:07:34 211浏览量 回答数 0

0

回答

java应用使用kafka消息队列异步处理数据,但发送消息时偶尔会有卡住的性能问题,该如何优化?

2021-11-12 17:04:03 1138浏览量 回答数 0

1

回答

Java六个设计原则是什么?

2022-04-02 18:09:39 698浏览量 回答数 1
文章
问答
问答排行榜
最热
最新
相关电子书
更多
阿里特邀专家关键:Java无锁集合代码分析
立即下载
Java开发者面试百宝书
立即下载
从《阿里巴巴Java开发手册》编写推广谈技术成长
立即下载