面试题:synchronized 与 Lock的区别?

区别:

相同:二者都可以解决线程安全问题
不同:synchronized机制在执行完相应的同步代码以后,自动的释放同步监视器
Lock需要手动的启动同步(lock()),同时结束同步也需要手动的实现(unlock())

解决线程安全问题:

优先使用顺序:
Lock --> 同步代码块(已经进入了方法体,分配了相应资源) --> 同步方法(在方法体之外)

posted @ 2022-07-24 22:27  憨憨BEEA  阅读(46)  评论(0)    收藏  举报