synchronized的功能擴(kuò)展
更靈活的邏輯控制
中斷響應(yīng)
- synchronized :如果一個(gè)線程在等待鎖院塞,結(jié)果只有兩種情況:
- 獲得這把鎖繼續(xù)執(zhí)行
- 保持等待
- ReentrantLock:提供了另外一種可能:
- 程序可以根據(jù)需要取消對(duì)鎖的請(qǐng)求尸闸。
- 鎖申請(qǐng)等待限時(shí)
- 可以設(shè)置為公平鎖:不會(huì)發(fā)生饑餓現(xiàn)象帆离。
好伙伴:Condition
- 和Object的wait和notify大致相同
信號(hào)量
- 允許多個(gè)線程同時(shí)訪問(wèn)臨界區(qū)