8、线程的安全问题 的解决办法3之 Lock锁
解决线程安全问题的方式三: Lock锁 --- JDK5.0新增
1.面试题: synchronized 与Lock的异同?
相同: 二者都可以解决线程安全问题
不同: synchronized机制在执行完相应的同步代码以后,自动的释放同步监视器
Lock需要手动的启动同步(Lock()) ,同时结束同步也需要手动的实现(unlock())
2.优先使用顺序:
Lock > 同步代码块(已经进入了方法体,分配了相应资源) > 同步方法(在方法体之外)
执行程序并查看控制台: