日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

串行任务如何提高效率Java_具有相同属性任务串行有序执行的线程池设计

發布時間:2025/3/12 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 串行任务如何提高效率Java_具有相同属性任务串行有序执行的线程池设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我有一個這樣的線程池的場景,相信很多人都遇到過:

1,每個用戶都可以添加多個任務;

2,有很多的用戶和很多的任務;

3,每個用戶添加的任務必須有序串行執行,即在同一時刻不能有同時執行一個用戶的兩個任務;

4,實時性:只要線程池線程有空閑的,那么用戶提交任務后必須立即執行;盡可能提高線程的利用率。

代碼比較簡潔,基本滿足上述要求:

public class SerialThreadExecutor {

private Executor executor;

private ConcurrentMap serialJobs = new ConcurrentHashMap();

public SerialThreadExecutor(Executor executor) {

super();

this.executor = executor;

}

public void executeSerially(Object key, Runnable r) {

SequentialJob job = serialJobs.get(key);

if (job == null) {

job = new SequentialJob(key);

SequentialJob oldJob = serialJobs.put(key, job);

if (oldJob != null) {

job = oldJob;

}

}

job.addJob(r);

}

private class SequentialJob implements Runnable {

private BlockingQueue jobs = new LinkedBlockingQueue();

private Object key;

private AtomicBoolean running = new AtomicBoolean(false);

public SequentialJob(Object key) {

this.key = key;

}

public void run() {

Runnable r = null;

while (true) {

try {

r = jobs.poll(50, TimeUnit.MILLISECONDS);

if (r != null) {

r.run();

} else {

synchronized (this) {

if (jobs.isEmpty()

&& running.compareAndSet(true, false)) {

return;

} else {

continue;

}

}

}

} catch (InterruptedException e) {

// TODO

e.printStackTrace();

}

}

}

public void addJob(Runnable r) {

synchronized (this) {

jobs.add(r);

if (running.compareAndSet(false, true)) {

executor.execute(this);

}

}

}

}

}

這個實現有幾個缺陷:

1,每次添加一個任務都要進入一次鎖,有一點小小開銷;

2,serialJobs會一直在內存中,當某個key的任務很久沒有添加了,對應的SequentialJob對象一直存在,雖然不占用很多內存,但對于有潔癖的人來說或,還是不爽。

拋磚引玉,看看廣大網友是否可以優化。

(異常處理等細節大家就不要理會了)

總結

以上是生活随笔為你收集整理的串行任务如何提高效率Java_具有相同属性任务串行有序执行的线程池设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲国产成人精品视频 | 中国少妇色| 91黄瓜 | 337p日本欧洲亚洲大胆精筑 | 久久国产精品久久久久久 | 成人小说亚洲一区二区三区 | 永久国产 | 最新中文字幕2019 | 999www| 华丽的外出在线观看 | 夜夜骚网站 | 男女黄床上色视频 | 天天摸天天 | 久久天天躁狠狠躁夜夜av | 免费看裸体网站视频 | 亚洲精品视频免费 | 嫩草网站在线观看 | 超碰免费成人 | 国产成人久久精品77777综合 | 亚洲少妇中文字幕 | 天堂资源在线 | 动漫美女靠逼 | 天天综合久久综合 | 国产自产自拍 | 久久久久人妻一区精品色欧美 | 鬼灭之刃柱训练篇在线观看 | 欧美三级在线播放 | 精品香蕉视频 | 日韩新片王网 | 成人免费视频网站在线观看 | yy色综合| 日本成人在线免费观看 | 亚洲精品视 | 蜜桃精品成人影片 | 特色黄色片 | 插入综合网 | 97中文在线| 亚洲aaaaaaa | 亚洲精品2区| 在线波多野结衣 | 99久久婷婷国产综合精品青牛牛 | 日本资源在线 | av这里只有精品 | 亚洲天堂自拍偷拍 | www.欧美色| 亚洲国产精品久久久久 | 亚洲乱码电影 | 精品成人av一区二区在线播放 | 色哟哟视频在线观看 | www.国产精品视频 | 一级黄色片免费在线观看 | 国产福利av | 亚洲一级特黄 | 91成人国产| 成年人免费视频网站 | 北条麻妃一区二区三区在线观看 | aa片在线观看视频在线播放 | 国产视频一区二区在线播放 | 久草免费在线观看 | 成人福利小视频 | 亚洲视频手机在线观看 | 久久国产精品系列 | 久操福利 | 一区二区三区四区久久 | 久久一区二区三区精品 | 久久在线电影 | 刘亦菲一区二区三区免费看 | 日韩在线欧美 | 欧美a一级 | 色哟哟无码精品一区二区三区 | 最新中文字幕久久 | 日本少妇喷水 | 久久成人视屏 | 国产伊人久久 | 人妻精品一区一区三区蜜桃91 | 黄色网址你懂得 | 香蕉视频亚洲一级 | 歪歪视频在线观看 | 日韩在线观看视频一区二区三区 | 亚洲男人第一av | 国产理论视频 | 凹凸日日摸日日碰夜夜 | 91久久综合精品国产丝袜蜜芽 | 牲欲强的熟妇农村老妇女视频 | 亚洲欧美日韩久久精品 | 成人在线观看18 | 蜜臀视频一区二区三区 | 男女草逼网站 | 天天躁日日摸久久久精品 | 国产一级片免费在线观看 | 亚洲二区av| 色婷五月| 日韩精品一区二区三区久久 | 黄色片女人 | 日韩高清一级片 | 国产精品久久久久久久久久久久久 | 99操 | 国产区视频在线观看 | 一级黄色录像免费观看 |