論文格式
      電氣工程 會計論文 金融論文 國際貿(mào)易 財務(wù)管理 人力資源 輕化工程 德語論文 工程管理 文化產(chǎn)業(yè)管理 信息計算科學(xué) 電氣自動化 歷史論文
      機械設(shè)計 電子通信 英語論文 物流論文 電子商務(wù) 法律論文 工商管理 旅游管理 市場營銷 電視制片管理 材料科學(xué)工程 漢語言文學(xué) 免費獲取
      制藥工程 生物工程 包裝工程 模具設(shè)計 測控專業(yè) 工業(yè)工程 教育管理 行政管理 應(yīng)用物理 電子信息工程 服裝設(shè)計工程 教育技術(shù)學(xué) 論文降重
      通信工程 電子機電 印刷工程 土木工程 交通工程 食品科學(xué) 藝術(shù)設(shè)計 新聞專業(yè) 信息管理 給水排水工程 化學(xué)工程工藝 推廣賺積分 付款方式
      • 首頁 |
      • 畢業(yè)論文 |
      • 論文格式 |
      • 個人簡歷 |
      • 工作總結(jié) |
      • 入黨申請書 |
      • 求職信 |
      • 入團申請書 |
      • 工作計劃 |
      • 免費論文 |
      • 合作期刊 |
      • 論文同學(xué)網(wǎng) |
      搜索 高級搜索

      當前位置:論文格式網(wǎng) -> 畢業(yè)論文 -> 計算機論文

      JAVA多線程探討(二)

      本論文在計算機論文欄目,由論文格式網(wǎng)整理,轉(zhuǎn)載請注明來源www.donglienglish.cn,更多論文,請點論文格式范文查看
        (1)產(chǎn)生死鎖的原因主要是  
      1.因為系統(tǒng)資源不足。
      2.進程運行推進的順序不合適。
      3.資源分配不當?shù)取? 
      如果系統(tǒng)資源充足,進程的資源請求都能夠得到滿足,死鎖出現(xiàn)的可能性就很低,否則就會因爭奪有限的資源而陷入死鎖。 
      其次,進程運行推進順序與速度不同,也可能產(chǎn)生死鎖。 以多線程:兩個線程為例: 
      第一個線程(Thread1),鎖住了一個對象(Object1),另一個線程(Thread2)也同時鎖住了另一個對象(Object2) 
      這時,第一個線程(Thread1),經(jīng)過一段時間操作需要Object2來繼續(xù)執(zhí)行,但是Object2被Thread2鎖定,不能為 
      Thread1所用,這時Thread2,經(jīng)過一段時間需要使用Object1來繼續(xù)執(zhí)行,但是Object1被Thread1鎖定,不能為 
      Thread2所用.這樣就形成了資源互鎖,出現(xiàn)了死鎖狀態(tài)。

      (2)產(chǎn)生死鎖的四個必要條件  
      互斥條件:一個資源每次只能被一個進程使用。  
      請求與保持條件:一個進程因請求資源而阻塞時,對已獲得的資源保持不放。  不剝奪條件:進程已獲得的資源,在末使用完之前,不能強行剝奪。  循環(huán)等待條件:若干進程之間形成一種頭尾相接的循環(huán)等待資源關(guān)系。  
      這四個條件是死鎖的必要條件,只要系統(tǒng)發(fā)生死鎖,這些條件必然成立,而只要上述條件之一不滿足,就不會發(fā)生死鎖。

      (3)死鎖的解決方法 
      讓所有的線程按照同樣的順序獲得一組鎖。這種方法消除了 A和 B的擁有者分別等待對方的資源的問題。 
      將多個鎖組成一組并放到同一個鎖下。前面Java線程死鎖的例子中,可以創(chuàng)建一個容器對象的鎖。于是在獲得A或B之前都必須獲得這個容器的鎖。將那些不會阻塞的可獲得資源用變量標志出來。當某個線程獲得容器對象的鎖時,就可以通過檢查變量來判斷是否整個容器集合中的對象鎖都可獲得。如果是,它就可以獲得相關(guān)的鎖,否則,就要釋放掉容器這個鎖并稍后再嘗試。 
      編寫代碼可預(yù)防死鎖,如: 
      Volatile 變量,volatile 關(guān)鍵字是 Java 語言為優(yōu)化編譯器設(shè)計的。 
      .class VolatileTest { 
      .public void food() { 
      .boolean flag = false; 
      .if(flag) { 
      .// this could happen 
      } 
      }
      }
      一個優(yōu)化的編譯器可能會判斷出if部分的語句永遠不會被執(zhí)行,就根本不會編譯這部分的代碼。如果這個類被多線程訪問, flag被前面某個線程設(shè)置之后,在它被if語句測試之前,可以被其他線程重新設(shè)置。用volatile關(guān)鍵字來聲明變量,就可以告訴編譯器在編譯的時候,不需要通過預(yù)測變量值來優(yōu)化這部分的代碼。 
      無法訪問的Java線程死鎖有時候雖然獲取對象鎖沒有問題,線程依然有可能進入阻塞狀態(tài)。在 Java 編程中IO就是這類問題最好的例子。當線程因為對象內(nèi)的IO調(diào)用而阻塞時,此對象應(yīng)當仍能被其他線程訪問。該對象通常有責任取消這個阻塞的IO操作。造成阻塞調(diào)用的線程常常會令同步任務(wù)失敗。如果該對象的其他方法也是同步的,當線程被阻塞時,此對象也就相當于被冷凍住了。 
      其他的線程由于不能獲得對象的Java線程死鎖,就不能給此對象發(fā)消息(例如,取消 IO 操作)。必須確保不在同步代碼中包含那些阻塞調(diào)用,或確認在一個用同步阻塞代碼的對象中存在非同步方法。盡管這種方法需要花費一些注意力來保證結(jié)果代碼安全運行,但它允許在擁有對象的線程發(fā)生阻塞后,該對象仍能夠響應(yīng)其他線程。  

      首頁 上一頁 1 2 下一頁 尾頁 2/2/2


      論文網(wǎng)贊賞

      上一篇:Java和.net與我的碰撞 下一篇:人事綜合管理系統(tǒng)
      Tags:JAVA 線程 探討 【收藏】 【返回頂部】
      會計論文
      電子機電論文
      金融論文
      電氣自動化論文
      模具設(shè)計
      化學(xué)工程與工藝
      機械設(shè)計
      電子通信論文
      英語論文
      行政管理論文
      物流論文
      電子商務(wù)論文
      法律論文
      國際貿(mào)易論文
      財務(wù)管理論文
      人力資源論文
      市場營銷論文
      土木工程論文
      工商管理論文
      工程管理論文
      漢語言文學(xué)論文
      教育管理論文
      測控專業(yè)論文
      交通工程論文
      旅游管理論文
      新聞專業(yè)論文
      藝術(shù)設(shè)計
      教育技術(shù)學(xué)論文
      應(yīng)用物理學(xué)論文
      輕化工程論文
      德語專業(yè)論文
      給水排水工程
      服裝設(shè)計與工程
      食品生物技術(shù)
      材料科學(xué)與工程
      電視制片管理
      工業(yè)工程論文
      文化產(chǎn)業(yè)管理
      包裝工程論文
      印刷工程論文
      信息管理論文
      制藥工程論文
      生物工程論文
      電子信息工程
      信息計算科學(xué)
      電氣工程論文
      通信工程論文
      動物醫(yī)學(xué)畢業(yè)論文
      生物醫(yī)學(xué)工程
      醫(yī)療保險實務(wù)
      水文與水資源工程
      書法專業(yè)畢業(yè)論文
      財務(wù)會計畢業(yè)論文
      電子商務(wù)畢業(yè)論文
      現(xiàn)代教育技術(shù)
      信息管理專業(yè)
      心理學(xué)專業(yè)
      數(shù)學(xué)與應(yīng)用數(shù)學(xué)
      數(shù)學(xué)教育
      護理學(xué)畢業(yè)論文
      其他專業(yè)論文
      歷史學(xué)論文
      學(xué)前教育畢業(yè)論文
      小學(xué)教育畢業(yè)論文
      教育管理畢業(yè)論文
      法律專業(yè)畢業(yè)論文
      漢語言文學(xué)畢業(yè)論文
      工商管理畢業(yè)論文
      人力資源畢業(yè)論文
      營銷專業(yè)畢業(yè)論文
      物流專業(yè)畢業(yè)論文
      計算機論文
      計算機論文

      本站部分文章來自網(wǎng)絡(luò),如發(fā)現(xiàn)侵犯了您的權(quán)益,請聯(lián)系指出,本站及時確認刪除 E-mail:349991040@qq.com

      論文格式網(wǎng)(www.donglienglish.cn--論文格式網(wǎng)拼音首字母組合)提供計算機論文畢業(yè)論文格式,論文格式范文,畢業(yè)論文范文

      Copyright@ 2010-2018 LWGSW.com 論文格式網(wǎng) 版權(quán)所有 蜀ICP備09018832號

      感谢您访问我们的网站,您可能还对以下资源感兴趣:

      论文格式网:毕业论文格式范文