synchronized既保证原子性,又保证内存可见性,是一种线程同步的方式,是锁机制的一种java实现.synchronized的实现基于JVM底层,JVM是基于monitor实现的,而monitor的实现依赖于操作系统的互斥实现. 语义 synchronized语义是同步,但同步有两层含义: 互斥,即锁的特点.同一时间只能有一个线程持有监视器,因此一旦线程进入监视器保护的代码块(即临界区),其他线程是不允许监视器保护的代码块,直到前一个线程退出代码块.互斥阻止了其他线程看到对象不一致的状态,