介绍:
在网上也没有找到太多的东西,大概说了一下,这个工具类的所有方法都是静态的,底层采用UNSAFE直接操作的内存,可以实现线程的阻塞和唤醒
可以看到他的park方法调用的是UNSAFE的park方法
而UNSAFE的park方法是一个native方法,调用的C的类库了,没办法继续看下去了,因为我也不会C
所以我们大概知道这么多就可以了,当然有一点非常重要,那就是LockSupport在进行线程阻塞和唤醒的时候是不需要获取锁的
作用:
park:阻塞一个线程
unpark:唤醒一个线程
他是构建同步组件的基础工具
为什么说是构建同步组件的基础工具呢,是因为AQS中的阻塞和唤醒就是基于LockSupport做的
而ReentrantLock中的Sync又是继承了AQS来完成的锁,所以说他是构建同步组件的基础工具
好了,了解这些就足够了,再深层次的,就不是这个阶段,所能看得懂的了
我看网上都写了一个小Demo,我觉的没有太大的实际意义,至少我在开发中,从来没有直接用过LockSupport,大家就当扩充一下知识,图个乐呵
作者:彼岸舞
时间:202011 4
内容关于:并发编程
本文来源于网络,只做技术分享,一概不负任何责任