一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CallerRunsPolicy拒絕策略的相關(guān)知識(shí)

Android編程精選 ? 來源:CSDN博客 ? 作者:打不死Gin ? 2021-09-29 14:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

來源丨blog.csdn.net/dabusiGin/article/details/105323796

在學(xué)習(xí)CallerRunsPolicy拒絕策略的時(shí)候,搜索了很多相關(guān)的知識(shí),其他博主的描述是這樣的:

第1種:

d023ed82-205b-11ec-82a8-dac502259ad0.png

第2種:

d03abec2-205b-11ec-82a8-dac502259ad0.png

第3種:

d04cab5a-205b-11ec-82a8-dac502259ad0.png

第4種:JDK文檔(漢化版)

d09a2506-205b-11ec-82a8-dac502259ad0.png

他們的描述讓我看的很懵逼,特別是第3種,仔細(xì)看他的測(cè)試代碼,并沒有用CallerRunsPolicy,而是用的AbortPolicy拒絕策略。。。。這是一篇高瀏覽量的博文,而且多人轉(zhuǎn)載。

其中上面幾種情況中寫到的“execute方法的調(diào)用線程”、“調(diào)用者線程”、“execute函數(shù)的上層線程”、“execute本身的線程”就是指的主線程,舉個(gè)例子如下圖所示,主線程就是平時(shí)執(zhí)行main方法中代碼的線程。

d0b15028-205b-11ec-82a8-dac502259ad0.png

再通過一個(gè)例子詳細(xì)說明:

class MyTask implements Runnable {

private String id;

public MyTask(String id) {

this.id = id;

}

public void run() {

System.out.println(id);

}

}

public class RejectPolicy {

public static void main(String[] args) {

ExecutorService es = new ThreadPoolExecutor(2, 2, 0L, TimeUnit.MILLISECONDS,

new ArrayBlockingQueue《Runnable》(3), Executors.defaultThreadFactory(),

new ThreadPoolExecutor.CallerRunsPolicy());

MyTask t1 = new MyTask(“id:1”);

MyTask t2 = new MyTask(“id:2”);

MyTask t3 = new MyTask(“id:3”);

MyTask t4 = new MyTask(“id:4”);

MyTask t5 = new MyTask(“id:5”);

MyTask t6 = new MyTask(“id:6”);

MyTask t7 = new MyTask(“id:7”);

es.execute(t1);

es.execute(t2);

es.execute(t3);

es.execute(t4);

es.execute(t5);

es.execute(t6);

es.execute(t7);

}

}

這里使用主要參數(shù)是:核心線程數(shù)為2、最大線程數(shù)為2、有界隊(duì)列(容量為3)、默認(rèn)線程工廠、CallerRunsPolicy拒絕策略。

運(yùn)行結(jié)果如下:

id:1

id:2

id:3

id:4

id:6

id:5

id:7

可以看到所有的任務(wù)都執(zhí)行了,沒有真正意義上被拒絕的。

學(xué)習(xí)資料Java進(jìn)階視頻資源

代碼中定義了核心線程數(shù)為2的線程池,一共有7個(gè)任務(wù)要執(zhí)行,其中2個(gè)任務(wù)創(chuàng)建線程執(zhí)行去了,3個(gè)任務(wù)放入了任務(wù)隊(duì)列(workQueue)。

當(dāng)提交到第6個(gè)任務(wù)的時(shí)候,會(huì)觸發(fā)拒絕策略,在這里我們配置了CallerRunsPolicy策略,主線程直接執(zhí)行第六個(gè)任務(wù)去了,不再向下執(zhí)行main方法中的es.execute(t7)這段代碼。

也就是說,在本程序中最多會(huì)有3個(gè)任務(wù)在執(zhí)行,3個(gè)在等待。由此限制了線程池的等待任務(wù)數(shù)與執(zhí)行線程數(shù)。所以JDK文檔才會(huì)說:“這提供了一個(gè)簡(jiǎn)單的反饋控制機(jī)制,將降低新任務(wù)提交的速度”。

d0fc715c-205b-11ec-82a8-dac502259ad0.png

我的一點(diǎn)個(gè)人理解,希望能有助理解。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理程序
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    5486
  • 線程池
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    7108

原文標(biāo)題:大多數(shù)人不知道的:線程池CallerRunsPolicy()拒絕策略

文章出處:【微信號(hào):AndroidPush,微信公眾號(hào):Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    電機(jī)大范圍調(diào)速的綜合電壓調(diào)制策略

    針對(duì)電動(dòng)汽車要求驅(qū)動(dòng)電機(jī)具有大范圍調(diào)速要求和目前任何單種基本調(diào)制方式都無法做到全調(diào)制比范圍內(nèi)性能最優(yōu)的問題,提出了一種綜合的調(diào)制策略:在低調(diào)制比階段使用傳統(tǒng)的SVPWM策略,在高調(diào)制比階段
    發(fā)表于 04-01 14:51

    永磁同步電機(jī)矢量控制策略分析

    本文通過矢量控制策略采用 id=0 控制方案快速準(zhǔn)確地控制轉(zhuǎn)矩,實(shí)現(xiàn)調(diào)速系統(tǒng)具有較高的動(dòng)態(tài)性能。并利用了 Matlab 工具對(duì)永磁同步電機(jī)矢量控制系統(tǒng)在空載起動(dòng)、轉(zhuǎn)速突變、負(fù)載突變進(jìn)行了仿真研究。 點(diǎn)擊附件可直接打開查看全文*附件:永磁同步電機(jī)矢量控制策略分析.docx
    發(fā)表于 03-20 12:57

    變頻器維修相關(guān)知識(shí)

    變頻器維修是一項(xiàng)涉及理論知識(shí)、實(shí)踐經(jīng)驗(yàn)與操作水平的工作,其維修過程需要遵循一定的步驟和方法。以下是一些關(guān)于變頻器維修的相關(guān)知識(shí): 一、變頻器維修的基本步驟 1. 靜態(tài)測(cè)試: ●?整流電路測(cè)試
    的頭像 發(fā)表于 03-09 07:40 ?337次閱讀
    變頻器維修<b class='flag-5'>相關(guān)</b><b class='flag-5'>知識(shí)</b>

    《AI Agent 應(yīng)用與項(xiàng)目實(shí)戰(zhàn)》閱讀心得3——RAG架構(gòu)與部署本地知識(shí)

    應(yīng)用。第六章深入探討了RAG架構(gòu)的工作原理,該技術(shù)通過在推理過程中實(shí)時(shí)檢索和注入外部知識(shí)來增強(qiáng)模型的生成能力。RAG架構(gòu)的核心是檢索器和生成器兩大模塊,檢索器負(fù)責(zé)從知識(shí)庫中找到與當(dāng)前查詢相關(guān)的文檔片段,生成器
    發(fā)表于 03-07 19:49

    【第一章 透?jìng)?b class='flag-5'>策略】手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云

    【第一章 透?jìng)?b class='flag-5'>策略】手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云 1. 本次實(shí)驗(yàn)使用正點(diǎn)原子D40 Mini 4G Cat1 DTU數(shù)傳模塊 1.1 D40數(shù)傳模塊資料 具體使用和資料下載可到:D40 Mini
    發(fā)表于 03-05 16:52

    嵌入式系統(tǒng)存儲(chǔ)的軟件優(yōu)化策略

    嵌入式希望通過對(duì)存儲(chǔ)相關(guān)知識(shí)的分享,助力大家構(gòu)建完整的存儲(chǔ)知識(shí)體系框架。 首先,嵌入式場(chǎng)景中常用來存儲(chǔ)數(shù)據(jù)的介質(zhì)分為兩類: ·Managed NAND,以eMMC(embedded Multi-Media
    發(fā)表于 02-28 14:17

    淵亭KGAG升級(jí)引入“高級(jí)策略推理”

    為了突破現(xiàn)有AI技術(shù)在決策推理方面的局限,淵亭科技對(duì)其知識(shí)圖譜分析平臺(tái)KGAG進(jìn)行了最新升級(jí),創(chuàng)新性地引入了“高級(jí)策略推理”模式。這一模式的引入,實(shí)現(xiàn)了“大模型×知識(shí)圖譜×專家策略×動(dòng)
    的頭像 發(fā)表于 02-14 15:07 ?501次閱讀

    設(shè)計(jì)模式-策略模式

    作者:京東工業(yè) 孫磊 一、概念 策略模式(Strategy Pattern)也稱為(Policy Parttern)。 它定義了算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變換
    的頭像 發(fā)表于 01-08 13:47 ?330次閱讀
    設(shè)計(jì)模式-<b class='flag-5'>策略</b>模式

    一文解析半導(dǎo)體產(chǎn)業(yè)鏈條以及相關(guān)知識(shí)

    先來了解一下半導(dǎo)體產(chǎn)業(yè)鏈條以及相關(guān)知識(shí),看完傳統(tǒng)封裝與先進(jìn)封裝對(duì)比后再來了解封裝裝備,最后看看核心封裝設(shè)備的梳理。 下圖為工藝對(duì)比 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
    的頭像 發(fā)表于 11-18 11:23 ?588次閱讀
    一文解析半導(dǎo)體產(chǎn)業(yè)鏈條以及<b class='flag-5'>相關(guān)</b><b class='flag-5'>知識(shí)</b>

    一文解析半導(dǎo)體產(chǎn)業(yè)鏈條以及相關(guān)知識(shí)

    先來了解一下半導(dǎo)體產(chǎn)業(yè)鏈條以及相關(guān)知識(shí),看完傳統(tǒng)封裝與先進(jìn)封裝對(duì)比后再來了解封裝裝備,最后看看核心封裝設(shè)備的梳理。 下圖為工藝對(duì)比 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
    的頭像 發(fā)表于 11-18 11:23 ?527次閱讀
    一文解析半導(dǎo)體產(chǎn)業(yè)鏈條以及<b class='flag-5'>相關(guān)</b><b class='flag-5'>知識(shí)</b>

    接口測(cè)試?yán)碚?、疑問收錄與擴(kuò)展相關(guān)知識(shí)點(diǎn)

    本文章使用王者榮耀游戲接口、企業(yè)微信接口的展示結(jié)合理論知識(shí),講解什么是接口測(cè)試、接口測(cè)試?yán)碚?、疑問收錄與擴(kuò)展相關(guān)知識(shí)點(diǎn)的知識(shí)學(xué)院,快來一起看看吧~
    的頭像 發(fā)表于 11-15 09:12 ?698次閱讀
    接口測(cè)試?yán)碚?、疑問收錄與擴(kuò)展<b class='flag-5'>相關(guān)</b><b class='flag-5'>知識(shí)</b>點(diǎn)

    連接器相關(guān)基礎(chǔ)知識(shí)大講解

    最近很多讀者想要補(bǔ)補(bǔ)連接器相關(guān)知識(shí),今天小編就和大家來探討下連接器的相關(guān)知識(shí)。 以下和大家來了連接器基礎(chǔ)知識(shí),將從六個(gè)方面和大家分享,想了
    的頭像 發(fā)表于 11-01 11:03 ?1219次閱讀

    【技術(shù)分享】CAN總線相關(guān)知識(shí)探討以及Model3C兩路CAN的應(yīng)用

    CAN總線相關(guān)知識(shí),以個(gè)位數(shù)價(jià)格的工業(yè)級(jí)HMI芯片–Model3C為例, 2路CAN的應(yīng)用
    的頭像 發(fā)表于 09-05 10:59 ?1056次閱讀
    【技術(shù)分享】CAN總線<b class='flag-5'>相關(guān)</b><b class='flag-5'>知識(shí)</b>探討以及Model3C兩路CAN的應(yīng)用

    Wiz拒絕谷歌母公司230億美元收購

    網(wǎng)絡(luò)安全領(lǐng)域的創(chuàng)新先鋒Wiz近日宣布了一項(xiàng)令人矚目的決定,毅然拒絕了科技巨頭谷歌母公司Alphabet提出的230億美元收購要約。這一決定不僅打破了業(yè)界對(duì)大型并購的期待,也彰顯了Wiz對(duì)于獨(dú)立發(fā)展道路的堅(jiān)定信念。
    的頭像 發(fā)表于 08-09 09:35 ?764次閱讀

    LDO輸出電壓紋波的相關(guān)知識(shí)

    統(tǒng)中,電源的穩(wěn)定性和可靠性至關(guān)重要。線性穩(wěn)壓器(LDO)作為一種常用的電源管理器件,其輸出電壓紋波是衡量其性能的重要指標(biāo)之一。本文將詳細(xì)介紹LDO輸出電壓紋波的相關(guān)知識(shí),包括其定義、影響因素、測(cè)量方法以及降低紋波的策略。 LDO
    的頭像 發(fā)表于 07-14 10:08 ?3663次閱讀