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

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

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

    隨筆-59  評論-31  文章-0  trackbacks-0
          死鎖是一個經典的多線程問題,因為不同的線程都在等待那些根本不可能被釋放的鎖,
    從而導致所有的工作都無法完成。假設有兩個線程,分別代表兩個饑餓的人,他們必須共享刀叉并輪流吃飯。
    他們都需要獲得兩個鎖:共享刀和共享叉的鎖。假如線程 "A" 獲得了刀,而線程 "B" 獲得了叉。
    線程 A 就會進入阻塞狀態來等待獲得叉,而線程 B 則阻塞來等待 A 所擁有的刀。
          
          讓所有的線程按照同樣的順序獲得一組鎖。這種方法消除了 X 和 Y 的擁有者分別等待對方的資源的問題。
      將多個鎖組成一組并放到同一個鎖下。前面死鎖的例子中,可以創建一個銀器對象的鎖。于是在獲得刀或叉之前都必須獲得這個銀器的鎖。
      將那些不會阻塞的可獲得資源用變量標志出來。當某個線程獲得銀器對象的鎖時,就可以通過檢查變量來判斷是否整個銀器集合中的對象鎖都可獲得。如果是,它就可以獲得相關的鎖,否則,就要釋放掉銀器這個鎖并稍后再嘗試。
      最重要的是,在編寫代碼前認真仔細地設計整個系統。多線程是困難的,在開始編程之前詳細設計系統能夠幫助你避免難以發現死鎖的問題。
    posted on 2012-12-10 10:54 RoyPayne 閱讀(344) 評論(0)  編輯  收藏 所屬分類: java并發
    主站蜘蛛池模板: 成人免费淫片在线费观看 | 亚洲小说图片视频| 精品四虎免费观看国产高清午夜| 亚洲爽爽一区二区三区| 无码AV动漫精品一区二区免费 | 亚洲视屏在线观看| 2020因为爱你带字幕免费观看全集| 亚洲AV无码专区电影在线观看| 久草免费手机视频| 日木av无码专区亚洲av毛片| 中文字幕免费视频| 亚洲人成在久久综合网站| 成人免费一级毛片在线播放视频| 亚洲国产日韩精品| 全亚洲最新黄色特级网站| 免费看成人AA片无码视频吃奶| 久久噜噜噜久久亚洲va久| 日韩版码免费福利视频| 亚洲人成网站免费播放| 亚洲色一色噜一噜噜噜| 日韩成人免费视频| 亚洲AV一二三区成人影片| 免费A级毛片在线播放不收费| 本道天堂成在人线av无码免费| 日韩亚洲Av人人夜夜澡人人爽| 青青青国产在线观看免费网站| 精品国产日韩亚洲一区在线| 亚洲人成人一区二区三区| 国产成人精品免费视频网页大全| 亚洲精品GV天堂无码男同| 亚洲人成无码网站久久99热国产| 大地资源中文在线观看免费版| 亚洲国产成人va在线观看网址| 日本不卡在线观看免费v| 你懂的免费在线观看| 亚洲人成图片网站| 亚洲一区视频在线播放| 日日麻批免费40分钟日本的| 羞羞视频在线观看免费| 99久久亚洲精品无码毛片| 国产一级淫片免费播放电影|