MESA管程·模型
2023-07-03 12:26:32 5 举报
MESA管程·模型
作者其他创作
大纲/内容
java同步的设计思想
<b>管程</b>:指的是管理共享变量以及对共享变量操作的过程,让他们支持并发
<b>互斥</b>:同一时间只允许一个线程访问共享资源
<b>同步</b>:线程之间如何通信,协作
<b><font color="#b71c1c">MESA模型</font></b>
目前广泛使用的管程模型是MESA模型
如何根据MESA模型设计一把<b>独占锁</b>
<b>共享变量state</b>,通过0,1判断是否加锁,多线程竞争通过CAS获取锁
<b>等待队列:</b>初始化一个双向循环列表,存放竞争锁失败的线程数据 Node(thread)
<b>等待唤醒某个线程:</b>通过jdk提供的LockSupport提供的park/unpark方法
<b>实现加锁释放锁的方法:加锁通过CAS修改共享变量state的值,解锁不存在线程安全问题</b>
0 条评论
下一页
为你推荐
查看更多