Lock和Synchronized的選擇

2021-10-04 22:11:58 字數 292 閱讀 3924

1、synchronized 不會導致死鎖現象發生;而lock可能造成死鎖現象

2、lock可以讓等待鎖的執行緒響應中斷;而synchronized是做不到的

3、lock可以知道有沒有成功獲取鎖;而synchronized沒辦法得知是否獲取到鎖

4、lock可以提高多個執行緒進行讀操作的效率

5、效能上,競爭不激烈兩者差不多;競爭非常激烈時(有大量執行緒同時競爭),lock效能遠遠優於synchronized

ps: 在具體使用時要根據適當場景進行抉擇

Java執行緒同步問題synchronized

android usb 讀寫以前都是一讀一寫,但有些機器會出問題。就採用讀寫非同步的方法。使用物件鎖,object自帶的,然後使用object的方法wait和notify notifyall 使用方法簡單,記錄下 public synchronized int lra setregister int...

Lock介面和ReentrantLock類

lock l l.lock try finallylock 獲取鎖 unlock 釋放鎖 newcondition 返回乙個繫結到這個鎖物件例項的乙個condition例項 trylock 僅當鎖未被其他執行緒占有時才能獲取到並返回true,否則返回false lockinterruptibly 獲...

Java學習之執行緒鎖 synchronized

同步 併發 多個執行緒訪問同乙份資源 確保資源安全 執行緒安全 synchronized 同步 1 同步塊 synchronized 引用型別 this 類.class 2 同步方法 public synchronized void test public class testsyn class t...