ReentrantLock 与Synchronized 区别

总体上,Synchronized能实现的加锁功能,ReentrantLock都能实现。

Synchronized使用起来比较简便,而且编程时不会忘记解锁功能。

一般情况下,建议使用Synchronized加锁,而使用ReentrantLock时则是为了应用ReentrantLock的独有的特性,如下所示:

1、可指定是公平锁还是非公平锁
2、提供了一个Condition类,可以分组唤醒需要唤醒的线程
3、提供能够中断等待锁的线程的机制,lock.lockInterruptibly()

你可能感兴趣的:(ReentrantLock 与Synchronized 区别)