0

如果方法是静态同步的,有多少线程将同时访问,如果方法是静态的,有多少线程将同时访问,如果方法是同步实例方法,最后有多少线程将同时访问?

4

1 回答 1

2
  • 仅使用static不会阻止任何线程随时访问该方法
  • 仅使用synchronized,获取的监视器属于调用该方法的对象。您仍然可以在同一类的其他实例上调用相同的方法
  • 使用static synchronized, 获取到的监听器是属于class特定对象的,也就是说静态方法只能被一个线程同时调用,与具体实例无关

后果:请注意,如果其中一个方法是静态的,多个线程可以同时调用同一个对象上的两个同步方法,这可能是一个陷阱。

于 2013-03-10T15:03:30.933 回答