新闻详情

新闻详情

首页 / 资讯中心 / 详情

浅谈:乐观锁和悲观锁的使用场景

发布时间:2026/9/16 13:22:30来源:尧图网络
浅谈:乐观锁和悲观锁的使用场景
乐观锁和悲观锁的使用场景悲观锁在所有操作前都上锁乐观锁总是假设最好的情况每次去拿数据的时候都认为别人不会修改所以不会上锁但是在更新的时候会判断一下在此期间别人有没有去更新这个数据可以使用版本号机制和 CAS 算法实现。乐观锁适用于写比较少的情况下多读场景即冲突真的很少发生的时候这样可以省去了锁的开销加大了系统的整个吞吐量。但如果是多写的情况一般会经常产生冲突这就会导致上层应用会不断的进行 retry 这样反倒是降低了性能所以一般多写的场景下用悲观锁就比较合适。死锁的解决方法死锁的产生是在这样一种环境中比如我们有两个进程 AB 他们都需要资源 1 和资源 2 当进程 A 持有资源 1 进线程 B 持有资源 2 的时候他们都需要对方手上的进程而一般操作系统又不允许抢占这个时候就发生了死锁。从这个例子中其实可以总结出死锁的几个必要条件1. 一个资源只能被一个进程所占有不能共享。2. 一个线程请求资源失败时它会等待而不是释放。3. 一个线程在释放资源之前其他进程不能抢夺资源。4. 循环等待从死锁产生的原因未明可以设计一些方法去避免死锁的发生1静态分配资源一开始就把一个进程所需的全部资源都分配给它但这样会降低资源的使用效率。2允许抢占需要设置进程的不同优先级高优先级的进程可以抢占低优先级的进程的资源。3把资源进行编号申请资源必须按照资源的编号顺序来申请。如果死锁已经发生了就需要去解开死锁其本质思想就是分配资源打破循环等待。1可以运行抢占从一个或多个进程中抢出资源来给其他进程。2也可以终止一些进程来达到释放资源的目的。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Robomaster硬件调试实战讲义:从故障定位到可靠性工程 2026/9/17 3:51:59

Robomaster硬件调试实战讲义:从故障定位到可靠性工程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
AI写作实用指南:高效生成优质内容的方法与技巧解析 2026/9/17 3:51:59

AI写作实用指南:高效生成优质内容的方法与技巧解析

作为一名还在读博的 “老油条”,我最怕的就是文献调研环节 —— 不是怕读论文,而是怕那种 “搜了半天全是废纸” 的空虚感。 以前一头扎进数据库,关键词调来调去,结果还是筛出一堆鸡肋,时间成本高到让人想摆烂。但 20…

阅读更多 →
招聘数据可视化:Python爬虫到Flask图表展示的完整实现 2026/9/17 3:51:59

招聘数据可视化:Python爬虫到Flask图表展示的完整实现

简介:这是一份基于Python的招聘数据分析可视化系统毕业设计资料包,面向计算机相关专业毕业生及需要完成数据类课题设计的同学。资源围绕招聘数据的采集、处理与可视化展示,构建了从爬虫脚本、数据清洗分析到前端图表展示的完整闭环&#xff0…

阅读更多 →
用OpenCV和Flask搭建本地家庭监控系统:从视频流到运动检测 2026/9/17 3:51:59

用OpenCV和Flask搭建本地家庭监控系统:从视频流到运动检测

简介:基于OpenCV与Flask的家庭监控系统源码包,涵盖视频捕获、图像处理、运动检测与网页端实时预览,适合计算机视觉入门、Python Web开发及智能家居项目参考。压缩包共30个文件、约1.15MB,含10个Python脚本(覆盖核心监控…

阅读更多 →
把 CC-Switch 的上游 Key 换成 TaoToken 后,WSL2 里也能跑通 Claude Code 2026/9/17 3:51:59

把 CC-Switch 的上游 Key 换成 TaoToken 后,WSL2 里也能跑通 Claude Code

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
基于SpringBoot+SSM的校园防诈骗宣传平台设计与实现 2026/9/17 3:48:58

基于SpringBoot+SSM的校园防诈骗宣传平台设计与实现

2. 核心功能模块设计:用户端与管理员端2.1 用户端功能拆解:从“被动看”到“主动防”用户端是整个平台的流量入口,也是防骗教育真正落地的场景。在设计时,我把它拆成四大块:资讯浏览、案例学习、在线答题、留言反馈。每…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞