Synchronized加锁和释放锁的原理、可重入原理、保证可见性原理

一、加锁和释放锁的原理

现象、时机、深入jvm看字节码

现象:每一个类的实例对应一把锁,每个被Synchronized修饰的方法 都必须首先获得调用该方法的类的实例的锁 方能执行。否则线程阻塞,而这个方法独占了这把锁,直到该方法返回或者抛出异常才能释放。
获取和释放锁的时机:内置锁,线程在进入同步代码块之前会自动获得这个锁,并且在退出这个同步代码块会自动释放。获得这个内置锁的唯一途径就是进入到这个锁

二、可重入原理

加锁次数计数器

三、保证可见性原理

内存模型


版权声明:本文为qq_34288630原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。