synchronized和java.util.concurrent.locks.Lock的区别
来源:互联网
上面这段代码,首先创建了一个lock,然后调用它的lock()方法,开启锁定,在最后调用它的unlock()解除锁定。值得注意的时,一般在使用锁时,都应该按上面的风格书写代码,即lock.unlock()最好放在finally块,这样可以防止,执行do something时发生异常后,导致锁永远无法被释放。上面这段代码,首先创建了一个lock,然后调用它的lock()方法,开启锁定,在最后调用它的unlo