开头
最近在深入学习java锁有关的知识,关于这一类知识点,除了表面的概念还涉及到内部更深层次的实现以及原理。翻阅的无数资料,对这些资料进行比较和学习,记录下来一些重要的作为笔记和文章,时刻翻出来进行学习和加强记忆。
乐观锁
悲观锁
概念
悲观锁认为自己在使用数据的时候一定会有其他线程来修改数据,因此获取数据的时候会先加锁,保证数据不会被其他线程修改
实现方式
synchronized关键字和Lock的实现类,Lock锁的基本操作是通过乐观锁来实现,但是也会是线程堵塞时挂起。
使用场景
悲观锁适合写多读少的场景。