monitor原理
Java对象头
以32位虚拟机为例
普通对象
数组对象
mark word(32bits)
看后面两位即可区分哪种锁,无所和偏向锁需要看biased_lock的值是1还是0
工作原理
Monitor被翻译为监视器或管程
每个Java对象都可以关联一个Monitor对象,如果使用synchronized给对象上锁(重量级)之后,该对象头
的Mark Word中就被设置指向Monitor对象的指针
Monitor结构
当线程2执行完临界区(synchronized(){})代码后之后,Owner会通知Monitor唤醒Blocked中的线程,此时Owner会指向Blocked线程
本文来自博客园,作者:如梦幻泡影,转载请注明原文链接:https://www.cnblogs.com/WangJiQing/p/17003863.html