synchronized 加到 static 方法前面是给class 加锁,即类锁;而synchronized 加到非静态方法前面是给对象上锁。
对象锁和类锁是不同的锁,所以多个线程同时执行这2个不同锁的方法时,是异步的。
类锁对该类的所有对象都能起作用,而对象锁不能。

大白话就是:一个线程执行同步的静态方法后,另一个线程就得等第一个线程执行完这个方法后才能继续执行。但是第二个线程可以异步地去执行非静态方法。
 

相关文章:

  • 2022-12-23
  • 2021-05-27
  • 2022-12-23
  • 2020-02-25
  • 2022-12-23
猜你喜欢
  • 2021-12-04
  • 2022-12-23
  • 2021-10-24
  • 2022-01-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案