多線程的同步機制的實現方法

Java提供了三種實現同步機制的方法:

(1)synchronized 關鍵字

Java語言中,每個對象都有一個對象鎖與之關聯,該鎖表明對象在任何時候只允許被一個線程所擁有,當一個線程調用一段synchronized代碼時,需要先獲取這個鎖,然後去執行相應的代碼,執行結束,釋放鎖。

①synchronized 方法

在方法生命前加上synchronized關鍵字修飾。當一個方法的方法體比較大時,爲提高程序的效率,可以使用synchronized塊。

②synchronized 塊

語法:

     synchronized ( syncObject){

         //訪問syncObject的代碼;

     }

(2)wait() 和 notify() 方法

 

(3)Lock

①lock():以阻塞方式獲得鎖

②tryLock():以非阻塞方式獲取鎖,嘗試性獲取一次,返回true/false。

③tryLock(long timeout, TimeUnit unit):設定等待時間獲取鎖,超市返回false。

④lockInterruptibly():

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章