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