1. 程式人生 > >多執行緒的實現方法

多執行緒的實現方法

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():