Java之synchronized的实现原理
synchronized
在Java多线程编程中,我们最先碰到的也是最简单的方法就利用synchronized
关键字。用它的方式有三种:
- 修饰实例方法,锁是当前实例对象
- 修饰静态方法,锁是当前类的class对象(每个类都有一个Class对象)
- 修饰代码块,锁定括号里的对象
加上synchronized
之后,我们的代码就变成了同步代码,神奇又强大,但有的时候也不禁会思考下:Java底层是怎么实现synchronized
关键字的?
在阅读了一些文章之后,我在这里做了一些归纳和总结。