synchronized锁

作者: 丿灬序曲 | 来源:发表于2018-03-16 16: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++
  }
}

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

相关文章

网友评论

    本文标题:synchronized锁

    本文链接:https://www.haomeiwen.com/subject/sahrqftx.html