3. 重量級鎖
重量鎖在JVM中又叫對象監(jiān)視器(Monitor),它很像C中的Mutex,除了具備Mutex互斥的功能,它還負責實現(xiàn)了Semaphore的功能,也就是說它至少包含一個競爭鎖的隊列,和一個信號阻塞隊列(wait隊列),前者負責做互斥,后一個用于做線程同步。
4. 鎖的優(yōu)缺點對比
鎖優(yōu)點缺點適用場景偏向鎖加鎖和解鎖不需要額外的消耗,和執(zhí)行非同步方法比僅存在納秒級的差距如果線程間存在鎖競爭,會帶來額外的鎖撤銷的消耗適用于只有一個線程訪問同步塊場景輕量級鎖競爭的線程不會阻塞,提高了程序的響應速度如果始終得不到鎖競爭的線程使用自旋會消耗CPU追求響應時間,鎖占用時間很短重量級鎖線程競爭不使用自旋,不會消耗CPU線程阻塞,響應時間緩慢追求吞吐量,鎖占用時間較長