synchronized 加到 static 方法前面是给class 加锁,即类锁;而synchronized 加到非静态方法前面是给对象上锁。 多线程访问对象锁是异步的,访问类锁是同步的。 详情查看:点击打开链接