最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)現(xiàn)threadLocal線程池獲取

 更新時(shí)間:2023年07月28日 09:57:22   作者:清晨細(xì)雨~  
本文主要介紹了Java實(shí)現(xiàn)threadLocal線程池獲取,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

問(wèn)題:

ThreadLocal默認(rèn)不支持子線程獲取,而InheritableThreadLocal支持子線程獲取threadLocal值,但是如果使用線程池,核心個(gè)數(shù)為1則子線程會(huì)獲取到上一個(gè)threadLocal的值。

解決:

1.引入transmittable-thread-local jar

<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>transmittable-thread-local</artifactId>
   <version>2.11.4</version>
</dependency>

2. threadLocal 初始化

private static final TransmittableThreadLocal<User> CURRENT_USER_HOLDER = new TransmittableThreadLocal();

3. Executor bean,使用TtlExecutor

@Bean(value = "defaultThreadPool")
    public Executor buildQueueThreadPool() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        int cpuNum = Runtime.getRuntime().availableProcessors();
        // 設(shè)置核心線程數(shù)
        executor.setCorePoolSize(Math.min(cpuNum * 2, 16));
        // 設(shè)置最大線程數(shù)
        executor.setMaxPoolSize(cpuNum * 2);
        //隊(duì)列中最大的數(shù)目
        executor.setQueueCapacity(300);
        //線程名稱前綴
        executor.setThreadNamePrefix("defaultThreadPool_");
        //rejection-policy:當(dāng)pool已經(jīng)達(dá)到max size的時(shí)候,如何處理新任務(wù)
        //CALLER_RUNS:不在新線程中執(zhí)行任務(wù),而是由調(diào)用者所在的線程來(lái)執(zhí)行
        //對(duì)拒絕task的處理策略
        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
        //線程空閑后的最大存活時(shí)間
        executor.setKeepAliveSeconds(60);
        //加載
        executor.initialize();
        return TtlExecutors.getTtlExecutor(executor);
    }

到此這篇關(guān)于Java實(shí)現(xiàn)threadLocal線程池獲取的文章就介紹到這了,更多相關(guān)Java threadLocal線程池內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot隱式參數(shù)注入的碼優(yōu)雅升級(jí)指南

    SpringBoot隱式參數(shù)注入的碼優(yōu)雅升級(jí)指南

    這篇文章主要為大家詳細(xì)介紹了SpringBoot中隱式參數(shù)注入的相關(guān)方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-03-03
  • minio安裝部署及使用的詳細(xì)過(guò)程

    minio安裝部署及使用的詳細(xì)過(guò)程

    MinIO是一個(gè)基于Apache?License?v2.0開(kāi)源協(xié)議的對(duì)象存儲(chǔ)服務(wù),下面這篇文章主要給大家介紹了關(guān)于minio安裝部署及使用的詳細(xì)過(guò)程,文中通過(guò)實(shí)例代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 詳解Java事件編程的使用

    詳解Java事件編程的使用

    Java事件在很多地方都可以使用,合理的使用事件編程,相比常規(guī)邏輯的編程,這可達(dá)到主次分明,讓程序吞吐量即處理能力更強(qiáng),改動(dòng)更少,下面我們舉一個(gè)例子說(shuō)明如何使用Java使用,需要的朋友可以參考下
    2021-06-06
  • Java編程將漢字轉(zhuǎn)Unicode碼代碼示例

    Java編程將漢字轉(zhuǎn)Unicode碼代碼示例

    偶然看到Unicode編碼,覺(jué)得挺有意思,于是搜索了相關(guān)資料,準(zhǔn)備學(xué)習(xí)學(xué)習(xí),本文主要是一個(gè)Unicode編碼的簡(jiǎn)單Java實(shí)現(xiàn),需要的朋友可以了解下。
    2017-10-10
  • Windows環(huán)境下Java版本管理終極攻略(徹底告別JDK版本地獄)

    Windows環(huán)境下Java版本管理終極攻略(徹底告別JDK版本地獄)

    JDK是Oracle公司提供的用于Java程序開(kāi)發(fā)的完整軟件包,它是Java開(kāi)發(fā)者不可或缺的核心工具,包含了編寫(xiě)、編譯、調(diào)試和運(yùn)行Java程序所需的一切組件,這篇文章主要介紹了Windows環(huán)境下Java版本管理終極攻略的相關(guān)資料,需要的朋友可以參考下
    2026-06-06
  • Java基于控制臺(tái)界面實(shí)現(xiàn)ATM系統(tǒng)

    Java基于控制臺(tái)界面實(shí)現(xiàn)ATM系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java基于控制臺(tái)界面實(shí)現(xiàn)ATM系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • java?面向?qū)ο蟠a塊及不同位置對(duì)屬性賦值的執(zhí)行順序

    java?面向?qū)ο蟠a塊及不同位置對(duì)屬性賦值的執(zhí)行順序

    這篇文章主要介紹了java面向?qū)ο蟠a塊及不同位置對(duì)屬性賦值的執(zhí)行順序,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • springboot項(xiàng)目之相互依賴報(bào)錯(cuò)問(wèn)題(基于idea)

    springboot項(xiàng)目之相互依賴報(bào)錯(cuò)問(wèn)題(基于idea)

    這篇文章主要介紹了springboot項(xiàng)目之相互依賴報(bào)錯(cuò)問(wèn)題(基于idea),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java的Jackson庫(kù)的使用及其樹(shù)模型的入門(mén)學(xué)習(xí)教程

    Java的Jackson庫(kù)的使用及其樹(shù)模型的入門(mén)學(xué)習(xí)教程

    這篇文章主要介紹了Java的Jackson庫(kù)的使用及其樹(shù)模型入門(mén)學(xué)習(xí)教程,Jackson庫(kù)通常被用來(lái)作Java對(duì)象和JSON的互相轉(zhuǎn)換,需要的朋友可以參考下
    2016-01-01
  • SpringMVC配置多個(gè)properties文件之通配符解析

    SpringMVC配置多個(gè)properties文件之通配符解析

    這篇文章主要介紹了SpringMVC配置多個(gè)properties文件之通配符解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評(píng)論

隆林| 永康市| 武清区| 永寿县| 正阳县| 南漳县| 徐汇区| 沂水县| 抚远县| 营山县| 积石山| 古蔺县| 康马县| 牡丹江市| 玉溪市| 建宁县| 长沙市| 泽库县| 乾安县| 类乌齐县| 确山县| 梓潼县| 山阴县| 巴南区| 佛山市| 西峡县| 洛隆县| 永川市| 邢台县| 嫩江县| 隆子县| 稷山县| 纳雍县| 枞阳县| 醴陵市| 石泉县| 松江区| 庆元县| 东乡| 神木县| 乌审旗|