栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【提问】乐观锁表示没有其他线程干扰当前线程而不加锁。那为什么要叫“锁”啊???

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【提问】乐观锁表示没有其他线程干扰当前线程而不加锁。那为什么要叫“锁”啊???

【提问】乐观锁表示没有其他线程干扰当前线程而不加锁。那为什么要叫“锁”啊???

再了解乐观锁与悲观锁时,是这样描述的:

对于同一个数据的并发操作,悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。Java中,synchronized关键字和Lock的实现类都是悲观锁。
而乐观锁认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数据。如果这个数据没有被更新,当前线程将自己修改的数据成功写入。如果数据已经被其他线程更新,则根据不同的实现方式执行不同的操作(例如报错或者自动重试)。

重点突出:乐观锁认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁
你都不加锁了,干嘛称自己为乐观锁。这谁起的名字。。。

谨此记录,日后再来看看能不能回答这个问题。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019921.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号