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

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

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

    Dev@Free

    zJun's Tech Weblog

    Java 多線程中的死鎖問題

    Java中的多線程使用 synchronized關(guān)鍵字實(shí)現(xiàn)同步.為了避免線程中使用共享資源的沖突,當(dāng)線程進(jìn)入 synchronized的共享對象時(shí),將為共享對象加上鎖,阻止其他的線程進(jìn)入該共享對象.但是,正因?yàn)檫@樣,當(dāng)多線程訪問多個(gè)共享對象時(shí),如果線程鎖定對象的順序處理不當(dāng)話就有可能線程間相互等待的情況,即常說的: 死鎖現(xiàn)象.

    比如下面演示了一個(gè)典型的死鎖的情況:

    線程:MyThread
    /**
    ?*?共享線程
    ?*
    */

    Class?MyThread?
    extends ?Thread {
    ??
    private
    ?String?threadName;
    ??
    private
    ?String?shareObj1,shareObj2;
    ??
    public ?MyThread(String?name,String?shareObj1,String?shareObj2)
    {
    ????
    this .threadName? =
    ?name;
    ????
    this .shareObj1? =
    ?shareObj1;
    ????
    this .shareObj2? =
    ?shareObj2;
    ????start();
    ??}

    ??
    public ?run() {
    ????
    synchronized (shareObj1)
    {
    ??????System.out.println(threadName?
    + ? " locked?for?shareObj1 "
    );
    ????}

    ????Thread.sleep(
    1000 );
    ????
    synchronized (shareObj1)
    {
    ??????System.out.println(threadName?
    + ? " locked?for?shareObj2 "
    );
    ????}


    ??}

    }

    主程序:Main
    public ? class ?Main {
    ??
    private ?String?shareObj1? = ? " share?object?1 "
    ;
    ??
    private ?String?shareObj2? = ? " share?object?2 "
    ;
    ??
    public ? static ?main(String[]?args)
    {
    ????MyThread?thread1?
    = ? new ?MyThread( " thread1 "
    ,shareObj1,shareObj2);
    ????Thread.sleep(
    1000
    );
    ????MyThread?thread2?
    = ? new ?MyThread( " thread2 "
    ,shareObj1,shareObj2);
    ??}

    }

    運(yùn)行結(jié)果:

    posted on 2007-07-24 19:02 zJun's帛羅閣 閱讀(3237) 評論(1)  編輯  收藏 所屬分類: Java基礎(chǔ)

    評論

    # re: Java 多線程中的死鎖問題 2011-06-27 17:00 vistor

    synchronized (shareObj1) {
    System.out.println(threadName + " locked for shareObj1 " );
    }
    Thread.sleep( 1000 );
    synchronized (shareObj1) {
    System.out.println(threadName + " locked for shareObj2 " );
    }
    代碼錯(cuò)了吧!這會死鎖嗎?
    第二個(gè)是2并且new 2時(shí)順序顛倒  回復(fù)  更多評論   

    導(dǎo)航

    <2007年7月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    統(tǒng)計(jì)

    常用鏈接

    留言簿(15)

    隨筆分類

    隨筆檔案

    相冊

    收藏夾

    博客

    文檔

    站點(diǎn)

    論壇

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产福利电影一区二区三区,免费久久久久久久精 | 韩国免费一级成人毛片| 久久精品国产亚洲av麻| 成人黄网站片免费视频| 亚洲国产精品无码中文字| 青柠影视在线观看免费| 国产亚洲一区二区精品| 黄网站色视频免费在线观看的a站最新| 国产成人麻豆亚洲综合无码精品 | 日本免费A级毛一片| 亚洲AV无码成人专区片在线观看| 爱丫爱丫影院在线观看免费| 久久青青草原亚洲AV无码麻豆| 国内精品免费视频精选在线观看| 亚洲AV无码精品色午夜在线观看| 中文字幕亚洲免费无线观看日本 | 久视频精品免费观看99| 亚洲jjzzjjzz在线观看| 四虎成人精品一区二区免费网站| 相泽南亚洲一区二区在线播放| 免费人成网站在线高清| 中国极品美軳免费观看| 7777久久亚洲中文字幕蜜桃| 大地资源二在线观看免费高清| 校园亚洲春色另类小说合集| 国产精品亚洲不卡一区二区三区| 免费无码av片在线观看| 亚洲剧场午夜在线观看| 国产美女a做受大片免费| 四虎国产精品免费永久在线| 亚洲精品国产啊女成拍色拍| 成人爱做日本视频免费| 中文字幕在线观看免费| 亚洲一区二区三区免费观看| 亚洲国产成人精品91久久久| 久久国产乱子精品免费女| 日韩亚洲产在线观看| 国产亚洲精品成人AA片新蒲金| 91av视频免费在线观看| 看Aⅴ免费毛片手机播放| 亚洲妇熟XXXX妇色黄|