1. 首页
  2. 编程语言
  3. Java
  4. Java 基于AQS实现一个同步器

Java 基于AQS实现一个同步器

上传者: 2021-12-25 15:34:40上传 PDF文件 124.65 KB 热度 11次

  下图所示,直接实现了Lock这个接口,然后定义了一个内部类继承AQS,暂时不考虑公平锁和非公平锁,前面说AQS的时候说过,留有tryAcquire,tryRelease这两个方法在具体子类中根据实际情况实现的,可想而知这个内部类主要的是实现tryAcquire,tryRelease;  我们看看Lock接口,这些方法就是我们需要实现的;主要是获取锁和释放锁,还有一个实现条件变量的方法;  这里注意一下,有的方法后面带有Interruptibly这种字样的,这个方法表示如果该线程假如在阻塞队列中挂起了,这时有另外一个线程去调用这个线程的中断方法,那么就会立即抛出异常;不带Interruptibly就是不会对中断进行响应!

用户评论