synchronized锁住对象笔记

1.synchronized用在静态方法的时候,表示执行这个方法时,将会把调用该方法的对象给锁住。


2.synchronized(this){.....代码块......}的时候,表示执行synchronized内的代码时,锁住this对象,也就是当前代码所在类的对象。


3.synchronized(other_class){.....代码块......}的时候,表示执行synchronized内的代码时,锁住的是括号内的对象,并不是当前代码所有类的对象。

  1. public void method(SomeObject so) {   
  2. synchronized(so)   
  3. {   
  4.        //…..   
  5. }   

4.加上synchronized关键字的方法或者代码,执行过程中,其他线程不能再执行该方法或代码,但可以执行被锁住对象的其他方法或代码。


以上内容参考这里:http://developer.51cto.com/art/200908/143504.htm

猜你喜欢

转载自blog.csdn.net/lutinghuan/article/details/43836431