多线程与并发-并发关键字(synchronized,volatile,final)
synchronized
原理
synchronized在字节码中采用monitor机制实现,在修饰的方法中使用flag标记ACC_SYNCHRONIZED,在修饰的代码块时通过monitorenter和monitorexit环绕进行同步处理。
synchronized是可重入锁,在重入时monitor中计数+1,在释放时-1,而只有计数为0时其他被阻塞线程才能去竞争当前锁。
使用案例
public class MyService
{
synchronized public static void serviceMethod1(){