了解LockSupport工具类

介绍:

  在网上也没有找到太多的东西,大概说了一下,这个工具类的所有方法都是静态的,底层采用UNSAFE直接操作的内存,可以实现线程的阻塞和唤醒

了解LockSupport工具类

 

 可以看到他的park方法调用的是UNSAFE的park方法

了解LockSupport工具类

 

 而UNSAFE的park方法是一个native方法,调用的C的类库了,没办法继续看下去了,因为我也不会C

所以我们大概知道这么多就可以了,当然有一点非常重要,那就是LockSupport在进行线程阻塞和唤醒的时候是不需要获取锁的

作用:

  park:阻塞一个线程

  unpark:唤醒一个线程

  他是构建同步组件的基础工具

为什么说是构建同步组件的基础工具呢,是因为AQS中的阻塞和唤醒就是基于LockSupport做的

了解LockSupport工具类

 

了解LockSupport工具类

 而ReentrantLock中的Sync又是继承了AQS来完成的锁,所以说他是构建同步组件的基础工具

好了,了解这些就足够了,再深层次的,就不是这个阶段,所能看得懂的了

我看网上都写了一个小Demo,我觉的没有太大的实际意义,至少我在开发中,从来没有直接用过LockSupport,大家就当扩充一下知识,图个乐呵

作者:彼岸舞

时间:2020\11\04

内容关于:并发编程

本文来源于网络,只做技术分享,一概不负任何责任

上一篇:Go 指针


下一篇:[Java并发与多线程](十七)CAS原理