synchronized为什么叫悲观锁
时间: 2023-05-24 19:05:56 浏览: 117
Java并发问题之乐观锁与悲观锁
5星 · 资源好评率100%
synchronized被称为悲观锁是因为它的机制是在读取数据之前先获取锁。假设有多个线程同时对同一个数据进行操作,使用synchronized关键字进行同步时,线程需要先获取锁,只有获取到锁的线程才能执行操作,其他线程会阻塞等待锁的释放。这种机制会造成其他线程无法访问数据,只能等待,因此也被称为“悲观锁”,因为它的实现方式认为“事情总是会出错,所以需要先锁住数据,再进行操作”。相对的,乐观锁认为“事情总是顺利的,所以不需要先锁定数据”,这是两种不同的思路,适用于不同的场景。
阅读全文