synchronized

      synchronized都知道他是同步锁,很多框架里面 都能看到
      synchronized用法: 修饰方法或者 同步代码块 这两种
    
      synchronized修饰方法的时候加的锁是当前这个类的对象锁,
      synchronized(this){} 也是当前对象锁
      static  synchronized   是当前class文件的锁 (类的所有实例锁)

     几个情况分析:
     1.一个类里面有两个方法都是 synchronized  多线程调用他们
       他们是同一把锁,也就意味着不会被阻塞,A-B
     2.一个类里面有1个方法都是 synchronized,一个是 static synchronized 多线程调用他们   :两把锁 会被阻塞。A-B-A-B

(有不对的地方 帮忙说明下,有补充的地方,一定要写下 学习学习)










你可能感兴趣的:(多线程)