社区
Linux_Kernel
帖子详情
为什么锁会降低程序的性能?
_薛定谔猫
2019-03-28 03:05:21
我之前看过文章说的是锁降低性能降低在多个线程争夺锁,内核态和用户态之间的切换,想问一下切换在哪?锁是在内核中管理的么?
...全文
1388
6
打赏
收藏
为什么锁会降低程序的性能?
我之前看过文章说的是锁降低性能降低在多个线程争夺锁,内核态和用户态之间的切换,想问一下切换在哪?锁是在内核中管理的么?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
JFET238
2019-08-06
打赏
举报
回复
加解锁和线程切换 都要系统开销的
lyfll
2019-07-17
打赏
举报
回复
每一个请求都会占用一个线程,例如,当请求量过大,此服务器设计规定可跑1000线程,当并发达或者请求量同时超过1000线程时,并且系统未处理完请求,这些线程就是独占,所有超过1000的线程就要进行排队,倒置线程堵塞。
zhgure
2019-07-16
打赏
举报
回复
楼上说的很好了,补充一下二楼说的,切换发生在B阻塞发生时,本来B线程是当前正在占用CPU的,由于发生了阻塞,所以B线程被切换了,CPU又调度到别的线程执行。
zgsdgrr
2019-07-10
打赏
举报
回复
因为就像是马路上的红绿,汽车跑到红灯的时候会停下来,绿灯才能继续跑
john_liqinghan
2019-04-26
打赏
举报
回复
linux上下文切换的代价是很大的。
xh.wang
2019-04-24
打赏
举报
回复
应该这么理解,比如2个线程用一个锁。当A先调用锁,锁住,然后进行处理。这时候B假如要用该锁,那就必须等A解锁才可以使用,这个时候B是阻塞的。
操作系统不是本身就中断吗,为什么要说上
锁会
导致上下文切换造成
性能
开销呢
上下文切换本身是有开销的,频繁的上下文切换会
降低
程序
性能
。锁的
性能
开销不是锁本身的问题,而是等待锁和上下文切换带来的。合理使用锁,减少锁的竞争,避免不必要的上下文切换,是提高多线程
程序
性能
的关键。操作...
【Spring】高并发下如何提高“锁”
性能
?
但激烈的锁竞争会导致
程序
的
性能
下降,严重的甚至能导致 “死锁”的产生。这个时候,可能会有小伙伴会说,可以使用多线程啊。使用多线程的确可以明显地提高系统的
性能
。但事实上,使用多线程的方式会额外增加系统的...
自旋锁的优缺点?
下,一直运行,如果不能在很短的时间内获得锁,会导致CPU效率
降低
。 2、试图递归地获得自旋
锁会
引起死锁。递归
程序
决不能在持有自旋锁时调用它自己,也决不能在递归调用时试图获得相同的自旋 锁。 由此可见,...
数据库并发控制 你选乐观锁还是悲观锁?
在这里,我们将讨论的是在实际生产...但是如果系统的并发非常大的话,悲观锁定会带来非常大的
性能
问题,所以就要选择乐观锁定的方法。 悲观锁假定其他用户企图访问或者改变你正在访问、更改的对象的概率是很高的,因
锁为什么是低效率的?
并发编程学习笔记学习的内容这本书讲述了什么怎样讲述的为什么要这样讲述如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个...
Linux_Kernel
4,466
社区成员
17,461
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章