posts - 11,  comments - 0,  trackbacks - 0

          該類提供了線程局部 (thread-local) 變量。這些變量不同于它們的普通對應物,因為訪問某個變量(通過其 get 或 set 方法)的每個線程都有自己的局部變量,它獨立于變量的初始化副本。ThreadLocal 實例通常是類中的 private static 字段,它們希望將狀態與某一個線程(例如,用戶 ID 或事務 ID)相關聯。

          這個是什么,就是解決一個線程內共享一個變量,這個變量只在這個線程內部有效,在一個線程內訪問的都一個同一個對象,而多個線程之間的這個對象卻是相互獨立的。說來就是每一個線程都有一個獨立的此線程副本。
          使用ThreadLocal一般都聲明為靜態的變量
          在我們的線程中有一個threadLocals的Hash表來存放這個對象,我們用ThreadLocal對象作為主鍵,因此我們的ThreadLocal對象聲明為靜態的

          我們可以使用多個TheadLocal,來使一個線程里有多個共享的變量
          這個就是要實現一個線程里面共享一個變量

          public void set(Object value) {        
          	  Thread t = Thread.currentThread();
                  ThreadLocalMap map = getMap(t);
                  if (map != null) 
                      map.set(this, value);
                  else
                      createMap(t, value);
              }

           

              ThreadLocalMap getMap(Thread t) {
                  return t.threadLocals;
              }
          posted on 2009-05-14 21:03 小暉 閱讀(210) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          <2009年5月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章分類

          相冊

          最新隨筆

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 安龙县| 三都| 永胜县| 中西区| 明水县| 佛学| 镇平县| 塔河县| 东山县| 恭城| 克山县| 黄平县| 电白县| 阿克陶县| 大庆市| 杨浦区| 武乡县| 崇文区| 高台县| 留坝县| 梁平县| 江北区| 高唐县| 平昌县| 磐安县| 府谷县| 长泰县| 白银市| 吉首市| 怀来县| 公安县| 天水市| 辽阳县| 大渡口区| 卢龙县| 清丰县| 黄平县| 西宁市| 离岛区| 巩留县| 二连浩特市|