01-多线程
java thread
synchronized
- 类锁 - 修饰static函数和synchronized(ClassName.class)都是获取类锁
 
- 对象锁 - 修饰成员函数和synchronized(this|object)都是对象锁
- 其中修饰成员函数和synchronized(this)获取的都是当前类对象的锁
 
- 优点 - 简单,易用
- 开销少
 
- 缺点 - 可重入性差
- 大量使用可能导致性能下降
 
- 推荐用法 - 单例模式使用
- 用于计数器的自增或类似场景
 
Object.wait, Object.notify, Object.notifyAll
函数作用顾名思义
wait: 先释放对象锁,等待notify/notifyAll后释放
也就是说,可以基于他们实现条件变量, pv操作