中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

神池县| 乐至县| 楚雄市| 大方县| 云浮市| 济宁市| 武城县| 苏尼特左旗| 东山县| 藁城市| 东阿县| 阿勒泰市| 凤山县| 杭锦后旗| 樟树市| 台南市| 长丰县| 贵阳市| 视频| 泗洪县| 柳江县| 湾仔区| 武乡县| 翁牛特旗| 通城县| 万州区| 衡阳县| 涟源市| 马鞍山市| 会同县| 邳州市| 吴桥县| 景宁| 仁化县| 牙克石市| 扎囊县| 台前县| 家居| 宝丰县| 丘北县| 鄂尔多斯市|