重入锁ReentrantLock
2017-07-20 本文已影响8人
远o_O
synchronized的功能扩展
更灵活的逻辑控制
中断响应
- synchronized :如果一个线程在等待锁,结果只有两种情况:
- 获得这把锁继续执行
- 保持等待
- ReentrantLock:提供了另外一种可能:
- 程序可以根据需要取消对锁的请求。
- 锁申请等待限时
- 可以设置为公平锁:不会发生饥饿现象。
好伙伴:Condition
- 和Object的wait和notify大致相同
信号量
- 允许多个线程同时访问临界区