虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释放了锁,为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock
Lock是接口不能直接实例化,这里采用它的实现类ReentrantLock来实例化
ReentrantLock构造方法
方法名 | 说明 |
ReentrantLock() | 创建一个ReentrantLock的实例 |
加锁解锁方法
方法名 | 说明 |
void lock() | 获得锁 |
void unlock() | 释放锁 |
代码演示
虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释放了锁,为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock
Lock是接口不能直接实例化,这里采用它的实现类ReentrantLock来实例化
方法名 | 说明 |
ReentrantLock() | 创建一个ReentrantLock的实例 |
方法名 | 说明 |
void lock() | 获得锁 |
void unlock() | 释放锁 |
07Java多线程-19 线程的状态*
07Java多线程-11. 同步方法*
07Java多线程-20. 线程池概述*
07Java多线程-29. CAS算法*
07Java多线程-3. 线程API之线程名称*
07Java多线程-10. 同步代码块*
07Java多线程-23. ThreadPoolExecutor创建线程池*
07Java多线程-8. 线程API之后天线程*
07Java多线程-27. 原子性概述*
07Java多线程-26. JMM内存模型*
07Java多线程-1. 进程和线程的区别*
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M