最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2018年02月11日 08:40:23   投稿:laozhang  
本篇文章給大家詳細(xì)分析了Java并發(fā)編程this逃逸的問題分享,對(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)聽器時(shí), 如:

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

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

相關(guān)文章

  • SpringBoot中如何解決讀取properties文件讀取問題

    SpringBoot中如何解決讀取properties文件讀取問題

    這篇文章主要介紹了SpringBoot中如何解決讀取properties文件讀取問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 淺談Java隨機(jī)數(shù)的原理、偽隨機(jī)和優(yōu)化

    淺談Java隨機(jī)數(shù)的原理、偽隨機(jī)和優(yōu)化

    這篇文章主要介紹了淺談Java隨機(jī)數(shù)的原理、偽隨機(jī)和優(yōu)化,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • 一文帶你了解Java中的ForkJoin

    一文帶你了解Java中的ForkJoin

    這篇文章主要介紹了一文帶你了解Java中的ForkJoin,F(xiàn)orkJoinTask本身的依賴關(guān)系并不復(fù)雜,它與異步任務(wù)計(jì)算FutureTask一樣均實(shí)現(xiàn)了Future接口,下文更多相關(guān)資料,需要的小伙伴可以參考一下
    2022-04-04
  • Java Process詳解及實(shí)例

    Java Process詳解及實(shí)例

    這篇文章主要介紹了Java Process詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Java數(shù)據(jù)封裝樹形結(jié)構(gòu)代碼實(shí)例

    Java數(shù)據(jù)封裝樹形結(jié)構(gòu)代碼實(shí)例

    這篇文章主要介紹了Java數(shù)據(jù)封裝樹形結(jié)構(gòu)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java Base64解碼錯(cuò)誤及解決方法

    Java Base64解碼錯(cuò)誤及解決方法

    本篇文章給大家從一個(gè)Java Base64解碼錯(cuò)誤著手給大家分析了錯(cuò)誤的原因以及解決辦法,有興趣的可以參考學(xué)習(xí)下。
    2018-02-02
  • SpringCloud中的Hystrix保護(hù)機(jī)制詳解

    SpringCloud中的Hystrix保護(hù)機(jī)制詳解

    這篇文章主要介紹了SpringCloud中的Hystrix保護(hù)機(jī)制詳解,Hystrix,英文意思是豪豬,全身是刺,看起來就不好惹,是一種保護(hù)機(jī)制,Hystrix也是Netflix公司的一款組件,需要的朋友可以參考下
    2023-12-12
  • Java System.exit()退出程序方式

    Java System.exit()退出程序方式

    這篇文章主要介紹了Java System.exit()退出程序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • HashSet和TreeSet使用方法的區(qū)別解析

    HashSet和TreeSet使用方法的區(qū)別解析

    這篇文章主要介紹了HashSet和TreeSet使用方法的區(qū)別解析,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Java使用Collections.sort對(duì)中文進(jìn)行排序方式

    Java使用Collections.sort對(duì)中文進(jìn)行排序方式

    這篇文章主要介紹了Java使用Collections.sort對(duì)中文進(jìn)行排序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評(píng)論

运城市| 五峰| 万山特区| 行唐县| 镇赉县| 含山县| 台中县| 工布江达县| 保定市| 融水| 晴隆县| 昌乐县| 新平| 枣庄市| 潞城市| 县级市| 大丰市| 叙永县| 滦南县| 平乐县| 天祝| 大丰市| 宜兴市| 泸西县| 抚州市| 阆中市| 易门县| 库尔勒市| 莒南县| 泸水县| 临潭县| 栾城县| 固镇县| 邵阳市| 宜良县| 竹溪县| 华池县| 通道| 余庆县| 聂荣县| 怀集县|