可重入鎖:在執行對象中全部的同步方法時,沒必要再次去獲取鎖java
可中斷鎖:在等待獲取鎖過程當中可中斷多線程
讀寫鎖:對線程的讀寫分爲兩個部分,讀過程當中多線程可一塊兒訪問readLock,寫過程當中必須同步一塊兒讀jvm
公平鎖:按照等待獲取鎖時間長的長短來獲取鎖,等待越長的具備優先得到鎖的權利性能
存在層次上:java的關鍵字,在jvm層面spa
鎖的釋放:以獲取鎖的代碼塊執行完畢釋放,如果異常,jvm則會讓線程釋放鎖線程
鎖的阻塞:如果A線程得到鎖,則B等待;如果A出現阻塞,則B一直處於阻塞對象
鎖狀態:沒法判斷接口
鎖類型:可重入、非公平、不可中斷同步
性能:少許同步it
存在層次上:java類
鎖的釋放:在finally中必須釋放鎖,lock.unlock,不然會形成死鎖
鎖的阻塞:分狀況而定,線程能夠嘗試得到鎖,線程能夠不用一直等待,主要是參考Lock接口中的lockInterruptibly()方法
鎖狀態:能夠判斷,能夠經過trylock()方法來得知當前線程是否得到鎖
鎖類型:可重入、公平(亦可非公平)、可中斷;ReentrantLock中默認是非公平鎖的,new NofairSync
性能:大量同步