1. 程式人生 > >多執行緒同步的實現方法有哪些?

多執行緒同步的實現方法有哪些?

1. synchronize關鍵字  可分別用於方法,程式碼塊。

2. wait()方法與notify()方法

    在synchronize程式碼被執行期間,執行緒可以呼叫物件的wait()方法,釋放物件鎖進入等待狀態,並且可以呼叫notify()方法(一個)或者notifyAll()方法(所有等待的執行緒)去通知其他執行緒並允許它們去獲得鎖(只是讓它們去競爭)

3. Lock

    三種方法:

    lock() 以堵塞的方式獲取鎖(直到拿到鎖返回)。

    tryLock( ) 非堵塞的方式獲得鎖(嘗試一次獲取鎖)。

    lockInterruptibly() 沒有獲取鎖會休眠,若被別的執行緒