为什么锁会降低程序的性能?

_薛定谔猫 2019-03-28 03:05:21
我之前看过文章说的是锁降低性能降低在多个线程争夺锁,内核态和用户态之间的切换,想问一下切换在哪?锁是在内核中管理的么?
...全文
1385 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是阻塞的。

4,465

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧