1、自旋鎖,自旋,jvm預設是10次,由jvm自己控制,for去争取鎖
2、阻塞鎖 被阻塞的線程,不會争奪鎖
3、可重入鎖,多次進入改鎖的域
4、讀寫鎖
5、互斥鎖,鎖本身就是互斥的
6、悲觀鎖,不相信這裡是安全的,必須全部上鎖
7、樂觀鎖,相信這裡是安全的
8、公平鎖,有優先級的鎖
9、非公平鎖,無優先級的鎖
10、偏向鎖,無競争不鎖,有競争挂起,轉為輕量鎖
11、對象鎖,鎖住對象
12、線程鎖
13、鎖粗化 ,多鎖變成一個,自己處理
14、輕量級鎖 ,CAS實作
15、鎖消除 ,偏向鎖就是鎖消除的一種
16、鎖膨脹 , jvm實作,鎖粗化
17、信号量,使用阻塞鎖實作的一種政策
18、排他鎖(不包含),X鎖,若事務T對資料對象A加上x鎖,則隻允許T讀取和修改A,其他任何事務都不能再對A加任何類型的鎖,直到T釋放A上的鎖。這就保證了其他事務在T釋放A上的鎖之前不能再讀取和修改A