<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    stone2083

    初識InheritableThreadLocal

    一直來只知道ThreadLocal,直到最近看slf4j MDC實現代碼的時候,才認識了InheritableThreadLocal.
    InheritableThreadLocal顧名思義,可繼承的ThreadLocal.
    看類描述:
    This class extends <tt>ThreadLocal</tt> to provide inheritance of values
     * from parent thread to child thread: when a child thread is created, the
     * child receives initial values for all inheritable thread-local variables
     * for which the parent has values.

    測試代碼:
     1 public class Test {
     2 
     3     public static void main(String[] args) {
     4         //使用ThreadLocal,父子線程之間,不共享Value
     5         final ThreadLocal<String> tl = new ThreadLocal<String>();
     6         tl.set("ThreadLocal-VAL");
     7         System.out.println("Main-1:" + tl.get());
     8         new Thread() {
     9             public void run() {
    10                 System.out.println("Child-1:" + tl.get());
    11             };
    12         }.start();
    13 
    14         //使用InheritableThreadLocal,父線程Value可讓子線程共享
    15         final ThreadLocal<String> itl = new InheritableThreadLocal<String>();
    16         itl.set("InheritableThreadLocal-VAL");
    17         System.out.println("Main-2:" + itl.get());
    18         new Thread() {
    19             public void run() {
    20                 System.out.println("Child-2:" + itl.get());
    21             };
    22         }.start();
    23 
    24     }
    25 }

    輸出內容:
    Main-1:ThreadLocal-VAL
    Main-2:InheritableThreadLocal-VAL
    Child-1:null
    Child-2:InheritableThreadLocal-VAL


    ......分隔符號......

    順帶著簡單說下MDC.(Mapped Diagnostic Context). 中文直譯太惡心了,我理解的意思是,和環境相關的上下文信息.
    比如在web應用中,我們可以把用戶的ip,訪問url等放入到這個上下文中,log打印的時候,就能得到這個信息.

    在slf4j BasicMDCAdapter實現中,就是用了InheritableThreadLocal
    1 public class BasicMDCAdapter implements MDCAdapter {
    2 
    3   private InheritableThreadLocal inheritableThreadLocal = new InheritableThreadLocal();
    4   
    5   //.
    6 
    7 }

    posted on 2010-07-23 09:17 stone2083 閱讀(2588) 評論(0)  編輯  收藏 所屬分類: java

    主站蜘蛛池模板: 久青草视频在线观看免费| 久久精品国产亚洲av天美18 | 亚洲男人天堂2022| 1000部禁片黄的免费看| 久久精品国产亚洲AV无码娇色| 久久久久久毛片免费看| 亚洲人成网站在线观看播放| 在线观看片免费人成视频播放| 国产亚洲精品无码成人| 久久99精品国产免费观看| 亚洲福利秒拍一区二区| 黄色片在线免费观看| 欧美日韩亚洲精品| 综合亚洲伊人午夜网| 亚洲免费在线视频| 日韩亚洲不卡在线视频中文字幕在线观看| 91成年人免费视频| 亚洲av无一区二区三区| 亚洲综合精品香蕉久久网| 曰批全过程免费视频在线观看无码| 久久久久亚洲Av片无码v| 99久久国产热无码精品免费| 亚洲国产精华液2020| 亚洲精品视频在线看| 人人揉揉香蕉大免费不卡| 亚洲av一本岛在线播放| 国产又黄又爽又猛的免费视频播放 | 亚洲电影中文字幕| 九九九精品成人免费视频| 看全免费的一级毛片| 亚洲国产精品无码久久久不卡| 精品无码免费专区毛片| 国产精品亚洲一区二区三区久久| 狠狠亚洲婷婷综合色香五月排名| 97国产在线公开免费观看| 亚洲精品中文字幕无码A片老| 久久夜色精品国产亚洲av| 国产在线观看麻豆91精品免费| 福利片免费一区二区三区| 亚洲高清国产AV拍精品青青草原| 在线观看av永久免费|