synchronized和ReentrantLock区别

相同点 都是用来协调多线程对共享对象、变量的访问都是可重入锁,同一线程可以多次获得同一个锁,都保证了可见性和互斥性。 不同点 1、底层实现不一样,synchronized它是java语言的关键字,是原生语法层面的互斥,需要jvm实现。而ReentrantLock它是JDK 1.5之后提供的API层面的互斥锁,需要lock()和unlock()方法配合try/finally语句块来完成。也就是说sy
相关文章
相关标签/搜索