网站如何做页数赣州专业企业网站建设
系列文章目录
文章目录
- 系列文章目录
 - 一、Java中synchronized 和 ReentrantLock 有什么不同?
 - 二、有三个线程T1,T2,T3,如何保证顺序执行?
 - 三、SynchronizedMap和ConcurrentHashMap有什么区别?
 
一、Java中synchronized 和 ReentrantLock 有什么不同?
相似点:
 这两种同步方式有很多相似之处,它们都是加锁方式同步,而且都是阻塞式的同步,也就是说当如
 果一个线程获得了对象锁,进入了同步块,其他访问该同步块的线程都必须阻塞在同步块外面等
 待,而进行线程阻塞和唤醒的代价是比较高的.
 区别:
 这两种方式最大区别就是对于Synchronized来说,它是java语言的关键字,是原生语法层面的互
 斥,需要jvm实现。而ReentrantLock它是JDK 1.5之后提供的API层面的互斥锁,需要lock()和
 unlock()方法配合try/finally语句块来完成。
 Synchronized进过编译,会在同步块的前后分别形成monitorenter和monitorexit这个
