这次我们可以看看并发中锁的原理,大概会说到AQS,ReentrantLock,ReentrantReadWriteLock以及JDK8中新增的StampedLock,这些都是在java并发中很重要的东西,慢慢看吧!
一.LockSupport工具类
LockSupport工具类是jdk中rt.jar里面的,主要作用是挂起和唤醒线程,该类是创建锁和创建其他同步类的基础。还有我们要知道,LockSupport这个类是以Unsafe这个类为基础,讲过前面简单的看了看Unsafe,是不是觉得还是比较熟悉的吧!
我们先看看LockSupport的park(英文翻译:停下,坐下)和unpark(英文翻译:唤醒,启动)方法,注意,这两个方法和wait和notify功能很像,但是在这里我更喜欢叫做授权!
简单的看一个例子:
package com.example.demo.study; import java.util.concurrent.locks.LockSupport; public class Study0130 { public static void main(String[] args) { System.out.println("main begin"); LockSupport.park(); System.out.println("main end"); } }