类锁在实例方法中使用:synchronized (this.getClass()){} 要注意脏读:对共享数据的改和读都要进行同步, 不然可能出现读取到改动中间值的错误情况。 线程出现异常会自动释放锁!!! 死锁 解决办法:让两个线程方法中的嵌套锁的锁对象顺序一样 /** * 死锁的实质: */ 一个线程: sychronized(a){ sychronized(b){ } } 另一个线程: sychronized(b){ sychronized(a){ } }