线程同步
线程同步问题
多线程共享全局变量,会存在资源竞争 这就引入了同步问题
- 使用线程锁来管理线程
问题:
性能问题 加锁和释放锁消耗更多的资源 资源的浪费 性能下降
死锁问题 相互等待锁的释放 可重入锁来解决 - 可重入锁使用注意
在同一个线程里,可以连续调用多次acquire,但是需要注意的是 acquire的次数和release的次数一定相等 - condition 条件变量
用于复杂的线程间的同步
一个线程完成一定操作之后可以通知另外一个线程
api: wait notify
多线程共享全局变量,会存在资源竞争 这就引入了同步问题