JVM对synchronized的操作
2015-11-17 17:32:55 0 举报
JVM对synchronized的操作是通过对对象监视器(Monitor)的获取和释放来实现线程同步的。每个对象都有一个监视器,当一个线程想要访问某个对象的同步代码块时,它会先尝试获取该对象的监视器。如果监视器已经被其他线程占用,那么当前线程就会进入阻塞状态,直到监视器被释放。当线程执行完同步代码块后,它会主动释放监视器,以便其他线程可以继续获取并执行同步代码块。这种机制确保了同一时刻只有一个线程能够访问对象的同步代码块,从而实现了线程安全。
作者其他创作
大纲/内容
ContentionList
插入WaitSet集合
成为Owner线程
WaitSet
被notify
线程进入
成为OnDeck线程
Y
结束
EntryList
自旋抢占锁
插入ContentionList队列
等待进入EntryList队列
是否成功
是否调用wait方法
跳出EntryList队列
跳出ContentionList队列
进入EntryList队列
N
收藏
0 条评论
下一页