Lock和synchronized的选择

Lock是一个接口,synchronized是java关键字monitor,synchronized是内置的语言实现的CAS synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁发生;而lock异常时没有主动通过unlock()释放锁,则很可能会造成假死现象,因此使用Lock需要在finally块中释放锁; Lock可以让等待锁响应中断,而synchronized却不行,
相关文章
相关标签/搜索