<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關鍵字實現同步.為了避免線程中使用共享資源的沖突,當線程進入 synchronized的共享對象時,將為共享對象加上鎖,阻止其他的線程進入該共享對象.但是,正因為這樣,當多線程訪問多個共享對象時,如果線程鎖定對象的順序處理不當話就有可能線程間相互等待的情況,即常說的: 死鎖現象.

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

    線程: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);
    ??}

    }

    運行結果:

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

    評論

    # 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 " );
    }
    代碼錯了吧!這會死鎖嗎?
    第二個是2并且new 2時順序顛倒  回復  更多評論   

    導航

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

    統計

    常用鏈接

    留言簿(15)

    隨筆分類

    隨筆檔案

    相冊

    收藏夾

    博客

    文檔

    站點

    論壇

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久狠狠爱亚洲综合影院| 亚洲日本精品一区二区| 亚洲精品天堂无码中文字幕| 男女免费观看在线爽爽爽视频| 久久久久久久亚洲Av无码| 99在线视频免费| 亚洲欧洲校园自拍都市| 在线精品一卡乱码免费| 亚洲国产福利精品一区二区| 99re热免费精品视频观看| 亚洲国产精品综合久久久| 毛片视频免费观看| 精品亚洲成a人在线观看| 免费在线观看a级毛片| 久久er国产精品免费观看8| 久久久青草青青亚洲国产免观| 无码A级毛片免费视频内谢| 亚洲黄色网址大全| 好爽又高潮了毛片免费下载| 在线亚洲v日韩v| 国产福利电影一区二区三区,亚洲国模精品一区 | 亚洲av综合av一区| 中文字幕成人免费视频| 亚洲香蕉久久一区二区| 在线永久免费观看黄网站| 一级毛片高清免费播放| 亚洲高清视频在线观看| 无码国产精品一区二区免费I6| 国产青草亚洲香蕉精品久久| 亚洲色欲色欲www在线丝| 亚洲免费一级视频| 美女羞羞免费视频网站| 国产亚洲精AA在线观看SEE| 思思re热免费精品视频66 | 99999久久久久久亚洲| 亚洲?V无码乱码国产精品| 久热免费在线视频| 亚洲欧美成人av在线观看| 亚洲人JIZZ日本人| 成年人网站在线免费观看| 久久精品无码专区免费|