<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 110, comments - 101, trackbacks - 0, articles - 7
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
    public synchronized void methodA(int a, int b);

    public synchronized void methodB(int a){
    methodA(a, 0);
    }

    這樣的代碼是成立的,一個線程對同一個對象的鎖可以反復獲取。這種同步鎖稱為可重入的鎖。
    加在非static方法上的synchronized方法是和synchronized(this)塊等價的,均為對象鎖,即對this加鎖。
    獲得當前對象鎖的線程,可以繼續獲得當前對象鎖,JVM負責跟蹤對象被加鎖的次數。線程運行B方法,此時如果this鎖可以用,線程獲得該鎖,線程給對象加鎖,計數器變成1,然后B方法調用A方法,由于是對同一個對象同一個線程,線程可以繼續獲得鎖,計數器變為2,表示this被加鎖2次。A方法完畢后,線程釋放鎖,計數器變為1,此時對象鎖對其他線程依然是不可獲得的。B方法完畢后,線程繼續釋放鎖,此時計數器變為0,表示鎖被完全釋放,其他線程可以獲得對象鎖。

    public synchronized void methodA(int a, int b){

    }


    public synchronized void methodB(int a, int b){

    }

    以上兩方法在同一實例對象上是互斥的,synchronized 加在方法上 即對this加鎖,因此在同一實例對象上 兩方法是互斥的。



    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产美女亚洲精品久久久综合| 国产免费看插插插视频| 亚洲中文字幕无码日韩| 国产精品成人69XXX免费视频| 亚洲免费日韩无码系列| 黄网站色成年片大免费高清 | 免费在线看污视频| 亚洲av永久无码制服河南实里| 国精产品一区一区三区免费视频| 亚洲精品色午夜无码专区日韩| 日本免费中文字幕| 亚洲三级视频在线| 日本最新免费不卡二区在线| 朝桐光亚洲专区在线中文字幕| 亚洲av无码乱码在线观看野外 | 亚洲国产精品18久久久久久| 国产小视频免费观看| 一级一级一级毛片免费毛片| 亚洲人成网7777777国产| 无码A级毛片免费视频内谢| 亚洲欧洲日产专区| 热99re久久免费视精品频软件| 色多多免费视频观看区一区| 亚洲国产精品VA在线观看麻豆 | 亚洲精品在线网站| 在线观看免费精品国产| 久久成人永久免费播放| 亚洲熟妇色自偷自拍另类| 又黄又爽的视频免费看| 日韩免费高清播放器| 亚洲人和日本人jizz| 亚洲а∨天堂久久精品| 久久国产乱子伦精品免费一| 亚洲小说图区综合在线| 亚洲伊人久久综合影院| 2021免费日韩视频网| 国产免费MV大全视频网站| 亚洲精品中文字幕乱码影院| 一区国严二区亚洲三区| 亚洲一级毛片免费观看| 一级特级女人18毛片免费视频|