新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

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

相关资讯

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

较早相关资讯

最新相关资讯

风光火储协同调频:Simulink建模与控制策略仿真 2026/9/15 9:06:07

风光火储协同调频:Simulink建模与控制策略仿真

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

阅读更多 →
充电站定价策略数据集:从订单流水到调价评估的完整分析指南 2026/9/15 9:06:07

充电站定价策略数据集:从订单流水到调价评估的完整分析指南

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

阅读更多 →
MATLAB三次B样条曲线拟合优化:独立通用子程序实现 2026/9/15 9:06:07

MATLAB三次B样条曲线拟合优化:独立通用子程序实现

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

阅读更多 →
行业网站模板哪家强?搞定备案与选型的3个关键坑 2026/9/15 9:06:07

行业网站模板哪家强?搞定备案与选型的3个关键坑

行业网站模板哪家强?搞定备案与选型的3个关键坑 很多人找 行业网站模板 ,最头疼的不是设计,而是 备案流程一头雾水 。明明代码能跑,却卡在工信部系统里出不来,导致上线时间无限延期。这时候问 哪家好…

阅读更多 →
多项式除以单项式全解析:法则、易错点与高效训练法 2026/9/15 9:06:07

多项式除以单项式全解析:法则、易错点与高效训练法

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

阅读更多 →
Slidev:用Markdown和Vue打造开发者友好的演示文稿 2026/9/15 9:03:06

Slidev:用Markdown和Vue打造开发者友好的演示文稿

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

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

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

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