对象锁和类锁 对象锁 Synchronized修饰非静态方法,是对调用该方法的对象加锁,俗称“对象锁”。 这里的对象加锁并非是说执行该加锁方法的时候整个对象的所有成员都不允许其他线程访问了, 而是说该对象内所有的加锁的非静态方法共用这一把锁, 一个加锁非静态方法执行, 另一个加锁非静态方法不能执行,要等持有锁的线程释放锁, 不同对象之间的方法不互相作用 这里举第一个例子: 两个线程执行同一个对象的不同加锁非静态方法, 预期互斥执行,即同一对象的两个加锁的非静态方法共用该锁: package test; public ...