中易网

介绍一下lock锁,它的内部依赖什么实现的

答案:2  悬赏:30  
解决时间 2021-03-05 16:21
介绍一下lock锁,它的内部依赖什么实现的
最佳答案
Lock完全用Java写成,在java这个层面是无关JVM实现的。
在java.util.concurrent.locks包中有很多Lock的实现类,常用的有ReentrantLock、ReadWriteLock(实现类ReentrantReadWriteLock),其实现都依赖java.util.concurrent.AbstractQueuedSynchronizer类。
简单说来,AbstractQueuedSynchronizer会把所有的请求线程构成一个CLH队列,当一个线程执行完毕(lock.unlock())时会激活自己的后继节点,但正在执行的线程并不在队列中,而那些等待执行的线程全部处于阻塞状态,经过调查线程的显式阻塞是通过调用LockSupport.park()完成,而LockSupport.park()则调用sun.misc.Unsafe.park()本地方法,再进一步,HotSpot在Linux中中通过调用pthread_mutex_lock函数把线程交给系统内核进行阻塞。
全部回答
搜一下:介绍一下lock锁,它的内部依赖什么实现的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
关于抽烟的技巧,烟民回答
棋牌室怎么做宣传
四川大学博士破格录取听说很容易,只要肯花一
怎么样才能系统的学会电气相关知识, 电气图
桃源县地方税务局办事效率很低,应该向哪里反
韩宁超市一部这个地址在什么地方,我要处理点
190男模穿衣尺寸
输入n(1<=n<=10)和n个学生的数据,每个学生的
科技婚纱摄影广场丽致店在哪里啊,我有事要去
为什么我的世界木转子做不了
两人都是属猪的,结婚合适吗?
网易云音乐商城首发的音伏耳机,据说音质和铁
雅西卡124G双镜头120反光照相机
项目经理任职资格证明怎么写,能否具体举个例
我的WORD中,页面设置的字符为什么改不了呢?
推荐资讯
美利达r900是烂车吗?
oppo MP4 s33 oppo专卖店里多少钱?
nba2kol得分后卫未打满500场去哪个队好?马刺
物体的容积就是这个物体的体积对吗
怎样才能让兔毛变香
一般45岁以上的女性好找工作吗?
哈尔滨新区松北红星威尼斯庄园是否骗子
is,a,my,tv,brother,reporter怎么样连词成句
为什么我老是记不住一个人的模样
在小数点0.0300300003000003……中,小数点后
HJ125KA发动机更换机油时底部螺丝滑丝了更换
本人是高中生。想考有书法专业的美院。想知道
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?