syncronized关键字详解

java中的关键字syncronized,具有以下特点:

  • 可以修饰方法或者一个代码块,属于悲观锁的一种。修饰静态方法时,加锁对象是类的Class对象,修饰非静态方法或者代码块时,锁住的是调用该方法的当前对象。
  • 可以保证原子性,可见性,

可以保证原子性,可见性,不能保证有序性,即它所修饰的方法或者代码块内部的指令,是可以被jvm重排序的,这也是为什么双重检查模型需要用volatile来修饰变量的原因。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章