java线程安全问题的解决方式-lock锁
解决线程安全问题除了用synchronized(同步代码块)、synchronized(同步方法)之外,还能用java.utils下的Lock来解决。
lock拥有synchronized的作用,但比synchronized更加贴切的面向对象
lock锁也称同步锁,有加锁和解锁的方法:
public void lock(); //加锁操作
public void unlock(); //解锁操作
下面我用电影院卖票的事例给大家显示,事例要求在上一篇博客,有兴趣的小伙伴可以查看一下。
线程安全问题也得到了解决。
解决线程安全问题的3中方式:
- 使用同步代码块
- 使用同步方法(包括静态方法和非静态方法)
- 使用lock对象来调用lock和unlock