欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java并發(fā)編程this逃逸問(wèn)題總結(jié)

 更新時(shí)間:2018年02月11日 08:40:23   投稿:laozhang  
本篇文章給大家詳細(xì)分析了Java并發(fā)編程this逃逸的問(wèn)題分享,對(duì)此有需要的朋友參考下。

this逃逸是指在構(gòu)造函數(shù)返回之前其他線程就持有該對(duì)象的引用. 調(diào)用尚未構(gòu)造完全的對(duì)象的方法可能引發(fā)令人疑惑的錯(cuò)誤, 因此應(yīng)該避免this逃逸的發(fā)生.

this逃逸經(jīng)常發(fā)生在構(gòu)造函數(shù)中啟動(dòng)線程或注冊(cè)監(jiān)聽(tīng)器時(shí), 如:

public class ThisEscape { 
  public ThisEscape() { 
    new Thread(new EscapeRunnable()).start(); 
    // ... 
  } 
   
  private class EscapeRunnable implements Runnable { 
    @Override 
    public void run() { 
      // 通過(guò)ThisEscape.this就可以引用外圍類對(duì)象, 但是此時(shí)外圍類對(duì)象可能還沒(méi)有構(gòu)造完成, 即發(fā)生了外圍類的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() { 
      // 通過(guò)ThisEscape.this就可以引用外圍類對(duì)象, 此時(shí)可以保證外圍類對(duì)象已經(jīng)構(gòu)造完成 
    } 
  } 
} 

以上就是小編本次整理的全部?jī)?nèi)容,感謝你對(duì)腳本之家的支持。

相關(guān)文章

  • Springboot實(shí)現(xiàn)VNC的反向代理功能

    Springboot實(shí)現(xiàn)VNC的反向代理功能

    這篇文章主要介紹了Springboot實(shí)現(xiàn)VNC的反向代理,搭建過(guò)程也很簡(jiǎn)單,通過(guò)注冊(cè)bean攔截指定URL路徑進(jìn)行自定義操作,具體實(shí)例代碼跟隨小編一起看看需要的朋友可以參考下
    2021-09-09
  • Eclipse Debug模式的開(kāi)啟與關(guān)閉問(wèn)題簡(jiǎn)析

    Eclipse Debug模式的開(kāi)啟與關(guān)閉問(wèn)題簡(jiǎn)析

    這篇文章主要介紹了Eclipse Debug模式的開(kāi)啟與關(guān)閉問(wèn)題簡(jiǎn)析,同時(shí)向大家介紹了一個(gè)簡(jiǎn)單的debug模式啟動(dòng)不起來(lái)的解決方法,希望對(duì)大家有所幫助。
    2017-10-10
  • Java?Spring的使用注解開(kāi)發(fā)詳解

    Java?Spring的使用注解開(kāi)發(fā)詳解

    這篇文章主要為大家介紹了Java?Spring注解開(kāi)發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • SpringCloud配置客戶端ConfigClient接入服務(wù)端

    SpringCloud配置客戶端ConfigClient接入服務(wù)端

    這篇文章主要為大家介紹了SpringCloud配置客戶端ConfigClient接入服務(wù)端,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • JAVA和JAVAC 命令詳細(xì)介紹

    JAVA和JAVAC 命令詳細(xì)介紹

    這篇文章主要介紹了JAVA和JAVAC 命令詳細(xì)介紹的相關(guān)資料,本文對(duì)java 和javac 命令進(jìn)行了詳解,并在Windows和Linux 平臺(tái)分別說(shuō)明,需要的朋友可以參考下
    2016-11-11
  • Java 加密解密基礎(chǔ)分類及模式歸納整理

    Java 加密解密基礎(chǔ)分類及模式歸納整理

    這篇文章主要介紹了Java加密解密基礎(chǔ)分類方法匯總的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Java實(shí)現(xiàn)多線程同步五種方法詳解

    Java實(shí)現(xiàn)多線程同步五種方法詳解

    這篇文章主要介紹了Java實(shí)現(xiàn)多線程同步五種方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Java輕松入門冒泡?選擇?插入?希爾?歸并排序算法

    Java輕松入門冒泡?選擇?插入?希爾?歸并排序算法

    這篇文章主要介紹了Java常用的排序算法及代碼實(shí)現(xiàn),在Java開(kāi)發(fā)中,對(duì)排序的應(yīng)用需要熟練的掌握,這樣才能夠確保Java學(xué)習(xí)時(shí)候能夠有扎實(shí)的基礎(chǔ)能力。那Java有哪些排序算法呢?本文小編就來(lái)詳細(xì)說(shuō)說(shuō)Java常見(jiàn)的排序算法,需要的朋友可以參考一下
    2022-02-02
  • Java編寫實(shí)現(xiàn)多人聊天室

    Java編寫實(shí)現(xiàn)多人聊天室

    這篇文章主要為大家詳細(xì)介紹了Java編寫實(shí)現(xiàn)多人聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • 一文帶你了解微服務(wù)架構(gòu)中的"發(fā)件箱模式"

    一文帶你了解微服務(wù)架構(gòu)中的"發(fā)件箱模式"

    微服務(wù)架構(gòu)如今非常的流行,這個(gè)架構(gòu)下可能經(jīng)常會(huì)遇到“雙寫”的場(chǎng)景。本文就和大家分享一個(gè)“發(fā)件箱模式”,?感興趣的小伙伴可以了解一下
    2023-01-01

最新評(píng)論