91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么實現java線程封閉

發布時間:2021-11-16 14:40:11 來源:億速云 閱讀:178 作者:iii 欄目:大數據

本篇內容主要講解“怎么實現java線程封閉”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么實現java線程封閉”吧!

線程封閉

多線程訪問共享可變數據時,并不是所有的時候,都要用到共享數據, 所以線程封閉的概念就提了出來。 所謂線程封閉, 就是指數據都封閉在各自的線程之中, 不需要不需要同步。線程封閉的具體的實現主要有ThreadLocal局部變量

ThreadLocal

ThreadLocal是Java里一種特殊的變量,一個線程級別的變量,每個線程都有一個自己獨立的ThreadLocal變量。它的競爭條件被徹底消除, 在并發模式下是絕對安全的。 用法:ThreadLocal<T> var = new ThreadLocal<T>(); 會自動在每個線程上創建一個T的副本, 副本之間彼此獨立,互不影響。 可以用ThreadLocal存儲一些參數,以便在線程中多個方法中使用, 用來代替方法傳參的的做法

代碼示例:

/** 線程封閉示例 */
public class Demo6 {
  /** threadLocal變量,每個線程都有一個副本,互不干擾 */
  public static ThreadLocal<String> value = new ThreadLocal<>();

  /**
   * threadlocal測試
   *
   * @throws Exception
   */
  public void threadLocalTest() throws Exception {

    // threadlocal線程封閉示例
    value.set("這是主線程設置的123"); // 主線程設置值
    String v = value.get();
    System.out.println("線程1執行之前,主線程取到的值:" + v);

    new Thread(
            new Runnable() {
              @Override
              public void run() {
                String v = value.get();
                System.out.println("線程1取到的值:" + v);
                // 設置 threadLocal
                value.set("這是線程1設置的456");

                v = value.get();
                System.out.println("重新設置之后,線程1取到的值:" + v);
                System.out.println("線程1執行結束");
              }
            })
        .start();

    Thread.sleep(5000L); // 等待所有線程執行結束

    v = value.get();
    System.out.println("線程1執行之后,主線程取到的值:" + v);
  }

  public static void main(String[] args) throws Exception {
    new Demo6().threadLocalTest();
  }
}

輸出結果:

線程1執行之前,主線程取到的值:這是主線程設置的123
線程1取到的值:null
重新設置之后,線程1取到的值:這是線程1設置的456
線程1執行結束
線程1執行之后,主線程取到的值:這是主線程設置的123

棧封閉

局部變量的固有屬性之一就是封閉在線程中 它們位于執行線程的棧中, 其他線程無法訪問這個棧

到此,相信大家對“怎么實現java線程封閉”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宕昌县| 普格县| 普洱| 翁源县| 团风县| 通河县| 青岛市| 社会| 甘洛县| 巩义市| 武山县| 马关县| 青海省| 图片| 宁武县| 白山市| 吉安市| 特克斯县| 休宁县| 阆中市| 堆龙德庆县| 桐柏县| 揭西县| 天峨县| 柳江县| 新泰市| 乾安县| 甘孜县| 石门县| 海门市| 太白县| 于都县| 克什克腾旗| 高阳县| 沅江市| 邢台市| 从江县| 延津县| 广南县| 永济市| 湖州市|