使用Lock和synchronized时,要保证使用同一个锁对象,这样才能保证多线程下的同步。
例如有一个方法是验证名称是否重复,这时候会在这个验证方法里面加锁保证代码同步执行(例如用Lock)
这时候Lock要定义成static静态全局变量,而不能定义在这个方法里面,这样才能保证每个调用这个方法的线程用的是同一个锁,才能保证代码同步执行。
使用Lock和synchronized时,要保证使用同一个锁对象,这样才能保证多线程下的同步。
例如有一个方法是验证名称是否重复,这时候会在这个验证方法里面加锁保证代码同步执行(例如用Lock)
这时候Lock要定义成static静态全局变量,而不能定义在这个方法里面,这样才能保证每个调用这个方法的线程用的是同一个锁,才能保证代码同步执行。