小巧小海豚

文章
3
资源
0
加入时间
3年0月21天

Synchronized和Reetrantlock的区别

相同点1、都是用来协调多线程中的共享对象、变量的访问2、都是可重入锁,即同一线程可多次获得同一锁3、都保证了可见性和互斥性不同点1、底层实现:synchronized是Java的关键字,由JVM提供。而ReetrantLock是JDK1.5之后提供的API层面的2、是否可手动释放:synchronized自动释放,ReetrantLock通过lock和unlock配合try和finally实现3、是否可中断:synchronized只有再发生异常时可中断;而ReetrantLock可通过try