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