亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

怎么實現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

佛坪县| 盐池县| 唐河县| 浮梁县| 东乡| 游戏| 鄄城县| 沧源| 利川市| 历史| 云浮市| 张家港市| 车致| 双辽市| 青海省| 永定县| 如东县| 安国市| 湖南省| 凤冈县| 闻喜县| 蒙山县| 沅江市| 长顺县| 新丰县| 电白县| 牡丹江市| 涟水县| 宁德市| 资源县| 商城县| 吴江市| 星座| 灵山县| 兴和县| 阿荣旗| 慈利县| 视频| 平乐县| 绥芬河市| 青河县|