精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CallerRunsPolicy拒絕策略的相關知識

Android編程精選 ? 來源:CSDN博客 ? 作者:打不死Gin ? 2021-09-29 14:20 ? 次閱讀

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

在學習CallerRunsPolicy拒絕策略的時候,搜索了很多相關的知識,其他博主的描述是這樣的:

第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種,仔細看他的測試代碼,并沒有用CallerRunsPolicy,而是用的AbortPolicy拒絕策略。。。。這是一篇高瀏覽量的博文,而且多人轉載。

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

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

再通過一個例子詳細說明:

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);

}

}

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

運行結果如下:

id:1

id:2

id:3

id:4

id:6

id:5

id:7

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

學習資料Java進階視頻資源

代碼中定義了核心線程數為2的線程池,一共有7個任務要執行,其中2個任務創建線程執行去了,3個任務放入了任務隊列(workQueue)。

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

也就是說,在本程序中最多會有3個任務在執行,3個在等待。由此限制了線程池的等待任務數與執行線程數。所以JDK文檔才會說:“這提供了一個簡單的反饋控制機制,將降低新任務提交的速度”。

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

我的一點個人理解,希望能有助理解。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理程序
    +關注

    關注

    0

    文章

    3

    瀏覽量

    5435
  • 線程池
    +關注

    關注

    0

    文章

    57

    瀏覽量

    6834

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

文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    一文解析半導體產業鏈條以及相關知識

    先來了解一下半導體產業鏈條以及相關知識,看完傳統封裝與先進封裝對比后再來了解封裝裝備,最后看看核心封裝設備的梳理。 下圖為工藝對比 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
    的頭像 發表于 11-18 11:23 ?183次閱讀
    一文解析半導體產業鏈條以及<b class='flag-5'>相關</b><b class='flag-5'>知識</b>

    接口測試理論、疑問收錄與擴展相關知識

    本文章使用王者榮耀游戲接口、企業微信接口的展示結合理論知識,講解什么是接口測試、接口測試理論、疑問收錄與擴展相關知識點的知識學院,快來一起看看吧~
    的頭像 發表于 11-15 09:12 ?194次閱讀
    接口測試理論、疑問收錄與擴展<b class='flag-5'>相關</b><b class='flag-5'>知識</b>點

    連接器相關基礎知識大講解

    最近很多讀者想要補補連接器相關知識,今天小編就和大家來探討下連接器的相關知識。 以下和大家來了連接器基礎知識,將從六個方面和大家分享,想了
    的頭像 發表于 11-01 11:03 ?180次閱讀

    【技術分享】CAN總線相關知識探討以及Model3C兩路CAN的應用

    CAN總線相關知識,以個位數價格的工業級HMI芯片–Model3C為例, 2路CAN的應用
    的頭像 發表于 09-05 10:59 ?472次閱讀
    【技術分享】CAN總線<b class='flag-5'>相關</b><b class='flag-5'>知識</b>探討以及Model3C兩路CAN的應用

    LDO輸出電壓紋波的相關知識

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

    什么是手機信號屏蔽器? 手機信號屏蔽器:保護隱私,拒絕干擾

    手機信號屏蔽器:保護隱私,拒絕干擾,助力專注
    的頭像 發表于 03-12 09:07 ?3240次閱讀
    什么是手機信號屏蔽器? 手機信號屏蔽器:保護隱私,<b class='flag-5'>拒絕</b>干擾

    Meta拒絕谷歌合作提議

    近日,科技巨頭Meta拒絕與谷歌母公司Alphabet進行合作,原本的計劃是將Meta的混合現實頭顯產品Quest搭載谷歌的Android XR平臺。然而,盡管Meta作出了這一決定,谷歌方面依然保持開放態度,顯示出其在市場競爭中的靈活策略
    的頭像 發表于 03-06 10:27 ?649次閱讀

    Meta拒絕和谷歌在VR/AR領域合作提議

    Meta拒絕和谷歌在VR/AR領域合作提議 據外媒報道,Meta拒絕和谷歌在VR/AR領域合作的提議。 谷歌原本希望通過合作促成混合現實頭顯產品Quest 搭載谷歌Android XR 平臺。但是 Meta CEO扎克伯格似乎有自己的想法,難道元宇宙平臺依然是扎克伯格的執
    的頭像 發表于 03-02 15:48 ?3009次閱讀

    美國拒絕OpenAI商標申請

    美國專利商標局(PTO)再次拒絕了OpenAI將其核心術語“GPT”注冊為商標的請求。PTO認為,GPT(生成式預訓練轉換器)作為一個術語過于通用,如果允許OpenAI獨家使用,可能會妨礙競爭對手描述自己的產品為GPT。
    的頭像 發表于 02-18 10:19 ?590次閱讀

    母線保護相關知識分享

    母線保護相關知識分享
    的頭像 發表于 01-19 10:29 ?517次閱讀
    母線保護<b class='flag-5'>相關</b><b class='flag-5'>知識</b>分享

    Spring事務傳播性的相關知識

    本文主要介紹了Spring事務傳播性的相關知識
    的頭像 發表于 01-10 09:29 ?403次閱讀
    Spring事務傳播性的<b class='flag-5'>相關</b><b class='flag-5'>知識</b>

    交換機、路由器接口、線纜的相關知識

    今天浩道跟大家分享網絡維護中常見的交換機、路由器接口、線纜相關知識,作為一名合格的網工,你應該對這些了如指掌!
    的頭像 發表于 12-28 09:19 ?633次閱讀
    交換機、路由器接口、線纜的<b class='flag-5'>相關</b><b class='flag-5'>知識</b>

    印制電路板相關知識科普

    印制電路技術基礎知識介紹
    的頭像 發表于 12-06 10:44 ?570次閱讀
    印制電路板<b class='flag-5'>相關</b><b class='flag-5'>知識</b>科普

    PCB板相關知識科普

    我們還應該注意電路組件內的電流流向。有電路知識我們知道,電流從電壓高的地方流向低的地方,并且電流總是通過一條或更多條路徑在一個閉環電路中流動,因此一個回路和一個很重要的定律。
    發表于 12-05 14:36 ?282次閱讀

    中斷相關知識

    中斷相關概念知識以及中斷函數的運用
    發表于 12-04 23:17