1、java 中任何对象都可以作为锁
2、同步代码执行完成后会自动释放掉
3、happend-before
4、类锁和对象锁相互几乎不影响,不存在竞争
5、私有锁和对象锁不存在竞争,相互不影响
6、一个线程一旦调用wait()就释放了所以的锁,一个等待线程被notify()唤醒,不会立刻进入唤醒状态,知道notify代码块释放锁,wait代码块重新获取锁后才执行
7、线程的通讯方式 :1.共享对象通讯 2.忙等待