程序员

sychronized与ReentrantLock

2019-04-22  本文已影响0人  Mirato

  相同点:

1.可重入;两者都是同一个线程当每进入一次,锁的计数器就会自增1,如果锁的计数器下降为0时就可以释放锁。

不同点:

1.锁的实现:Synchronized是依赖于JVM实现的,而ReenTrantLock是JDK实现的

2.功能区别:便利性:很明显Synchronized的使用比较方便简洁,并且由编译器去保证锁的加锁和释放,而ReenTrantLock需要手工声明来加锁和释放锁,为了避免忘记手工释放锁造成死锁,所以最好在finally中声明释放锁。

上一篇 下一篇

猜你喜欢

热点阅读