本文最后更新于850 天前,其中的信息可能已经过时,如有错误请发送邮件到916949904@qq.com
区别:
相同:二者都可以解决线程安全问题
不同:synchronized机制在执行完相应的同步代码以后,自动的释放同步监视器
Lock需要手动的启动同步(lock()),同时结束同步也需要手动的实现(unlock())
解决线程安全问题:
优先使用顺序: Lock --> 同步代码块(已经进入了方法体,分配了相应资源) --> 同步方法(在方法体之外)
相同:二者都可以解决线程安全问题
不同:synchronized机制在执行完相应的同步代码以后,自动的释放同步监视器
Lock需要手动的启动同步(lock()),同时结束同步也需要手动的实现(unlock())
优先使用顺序: Lock --> 同步代码块(已经进入了方法体,分配了相应资源) --> 同步方法(在方法体之外)