首页 > 代码库 > synchronized

synchronized

volatile只能确保可见性,并不能保证原子性,只能保证能拿到最后修改的值,但是不能保证修改值时的原子性。

synchronized即可保证原子性又可以保证可见性。

synchronized修饰方法的时候锁加在了所在类的实体,当有一个线程拥有了这个锁,那么其他的线程就不能访问这个类中的其他方法了吗?另外如果synchronized关键字出现在了继承类中比如

class A extends B{

  synchronized get(){

    ....

  }

}

那么get()方法这个锁是加在了B上还是A上还是AB都有。。。

synchronized