android相关知识

synchronized锁

2018-03-16  本文已影响0人  丿灬序曲

synchronized锁分为两种:

1,第一种为给方法添加synchronized,或者代码块例如
public synchronized void add(){
 i = i++;
}              

public void add(){
 synchronized(this){
   i = i++
 }
}

这两种锁的模式是一样的,都是对象锁,当创建两个不同的对象,对象之间不会产生互斥,属于两把锁,当同一个对象访问,会产生互斥

3,第二种为类锁,例如
public static synchronized void add(){
  i = i++;
}
//或者
public void add(){
 synchronized(xxx.class){
    i = i++
  }
}

此方法为静态方法,给静态方法添加锁属于类锁,创建不同的对象访问,都会产生互斥,属于同步执行

上一篇 下一篇

猜你喜欢

热点阅读