1. 必须基于对象多线程
Synchronized Method 和 Synchronized(this) 块,除了范围小点 (方法和块),没差异都是阻塞整个对象 - 若是对象有多个 Synchronized 只能一个执行。this
2. Synchronized(object)spa
最好 - 基于块,只是须要基于全局对象,或者多线程要访问的对象线程
3. Synchronized (*.class)对象
类的全部对象实例起做用。class