21.3 共享受限的资源
生活随笔
收集整理的這篇文章主要介紹了
21.3 共享受限的资源
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
21.3.1 不正確的訪問
當有兩個或更多的任務競爭響應某個條件,產生沖突或不一致結果
21.3.2 解決共享資源競爭
java提供了關鍵字synchronize來保護代碼片段,當任務要執行被synchronize關鍵字保護的代碼片段的時候,它將檢查鎖是否可用,然后獲取鎖,執行代碼,釋放鎖。
當在對象上調用器任意synchronize方法時候,此對象都被加鎖,這時對象上的其他synchronize方法只有等前一個方法調用完畢并釋放鎖之后才能被調用。
使用并發是,將域設置為private是非常重要的,否則,synchronize關鍵字就不能防止其他任務直接訪問域,就會產生沖突。
一個任務可以多次獲得對象的鎖。
2.解決的方法是顯示的Lock對象
private Lock lock=new ReentranLock();
? lock.lock();
?lock.unlock();
在lock與unlock之間創建了臨界資源,使用lock對象是,
總結
以上是生活随笔為你收集整理的21.3 共享受限的资源的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 12.2.12 创建有响应的用户界面 捕
- 下一篇: 21.3.3 原子性与易变性 21.3.