日韩性视频-久久久蜜桃-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_具有相同属性任务串行有序执行的线程池设计的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 色猫咪av在线 | av免费播放网站 | 波多野在线播放 | 国产欧美精品aaaaaa片 | 成年人拍拍视频 | 美女一区二区三区 | 一级国产视频 | 免费毛片视频网站 | 精品欧美国产 | 最新日韩在线视频 | www夜片内射视频日韩精品成人 | 龚玥菲一级淫片 | 91色在线观看 | 日本一级大片 | 骚虎免费视频 | 欧美爽妇| 无人码人妻一区二区三区免费 | 亚洲二区在线观看 | 久草中文视频 | 福利电影一区二区三区 | 欧美三级欧美一级 | 午夜激情视频网站 | 日本变态折磨凌虐bdsm在线 | 免费无遮挡网站 | 精品久久久久久久久久 | 亚洲天堂精品视频 | 青春草免费视频 | 中文精品久久久久人妻不卡 | 俺也来俺也去俺也射 | mm1313亚洲国产精品无码试看 | 亚洲精品精品 | 国产亚洲久一区二区 | 午夜国产 | 无人在线观看高清视频 单曲 | 日本黄色小网站 | 国产av一区二区三区精品 | 窝窝视频在线 | 无码免费一区二区三区 | 日本成人激情 | 自拍偷在线精品自拍偷无码专区 | 国语精品| 99热免费在线观看 | 午夜播放 | 日韩一区二区三区精品 | 亚洲av激情无码专区在线播放 | 成人在线观看一区二区三区 | 操女人的逼逼 | 日本高清不卡在线观看 | 爱射网| 456av| 九九亚洲视频 | 色不卡 | 超碰在线a| 狠狠操在线视频 | 欧美在线观看一区二区 | 午夜电影在线播放 | 色播激情 | 超碰美女在线 | 日本欧美韩国国产精品 | 成人av国产 | 亚洲午夜色 | 四虎永久网址 | 亚洲区精品 | 国产视频黄色 | 一区二区在线视频免费观看 | 亚洲精品久久久久久无码色欲四季 | 亚洲九区 | 欧美激情在线观看一区 | 噜噜噜在线视频 | 日韩一区二区三区中文字幕 | 亚洲欧美综合色 | 国产寡妇亲子伦一区二区三区四区 | 北京富婆泄欲对白 | 亚洲天堂三区 | 最新三级网站 | 亚洲欧美第一页 | 福利影院在线观看 | 久久精品无码中文字幕 | 精品少妇人妻av免费久久久 | 男ji大巴进入女人的视频 | 猛男被粗大男男1069 | 91jk制服白丝超短裙大长腿 | 在线色网址 | 人人澡超碰碰97碰碰碰 | 日韩中文字幕在线免费观看 | 成人免费在线看片 | 国产成人精品免费 | 中文一级片 | 天天爽天天操 | 草草影院ccyycom | 日本一本不卡 | 欧美日本韩国 | 完全免费在线视频 | 精品国产无码在线观看 | 亚洲成人自拍 | 中国少妇做爰全过程毛片 | a级黄色网 | a天堂v | 欧美精品99 |