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

溫馨提示×

溫馨提示×

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

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

Java并發編程this逃逸問題總結

發布時間:2020-09-27 21:41:52 來源:腳本之家 閱讀:256 作者:laozhang 欄目:編程語言

this逃逸是指在構造函數返回之前其他線程就持有該對象的引用. 調用尚未構造完全的對象的方法可能引發令人疑惑的錯誤, 因此應該避免this逃逸的發生.

this逃逸經常發生在構造函數中啟動線程或注冊監聽器時, 如:

public class ThisEscape { 
  public ThisEscape() { 
    new Thread(new EscapeRunnable()).start(); 
    // ... 
  } 
   
  private class EscapeRunnable implements Runnable { 
    @Override 
    public void run() { 
      // 通過ThisEscape.this就可以引用外圍類對象, 但是此時外圍類對象可能還沒有構造完成, 即發生了外圍類的this引用的逃逸 
    } 
  } 
} 

解決辦法

public class ThisEscape { 
  private Thread t; 
  public ThisEscape() { 
    t = new Thread(new EscapeRunnable()); 
    // ... 
  } 
   
  public void init() { 
    t.start(); 
  } 
   
  private class EscapeRunnable implements Runnable { 
    @Override 
    public void run() { 
      // 通過ThisEscape.this就可以引用外圍類對象, 此時可以保證外圍類對象已經構造完成 
    } 
  } 
} 

以上就是小編本次整理的全部內容,感謝你對億速云的支持。

向AI問一下細節

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

AI

敦煌市| 寻乌县| 玉田县| 东至县| 泽库县| 五家渠市| 顺平县| 石楼县| 阿图什市| 益阳市| 安义县| 顺义区| 临夏县| 繁昌县| 宁晋县| 潜江市| 尚义县| 井冈山市| 西畴县| 金秀| 宜春市| 英德市| 英吉沙县| 寿阳县| 亳州市| 义马市| 永城市| 汝城县| 株洲县| 东乡县| 白山市| 龙井市| 信丰县| 探索| 东乡族自治县| 宁国市| 昭苏县| 广宁县| 东阳市| 双桥区| 上虞市|