ReentrantLock显著优缺点?
时间: 2023-05-25 10:04:34 浏览: 77
[隐匿撕源码] 从ReentrantLock剖析AQS
优点:
1. 可以控制锁的获取和释放,实现细粒度的锁定;
2. 支持公平锁和非公平锁,可根据具体情况选择;
3. 性能较好,比 synchronized 有更好的并发性能。
缺点:
1. 使用 ReentrantLock 增加了代码的复杂性;
2. 需要手动释放锁,如果不小心忘记释放锁,可能会引起死锁等问题;
3. 需要使用 try-finally 保证锁的释放,降低代码可读性;
4. 只能在当前线程内重入,不能跨线程重入。
阅读全文