首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
以下哪种POSIX锁效率最高
[单选题]
以下哪种POSIX锁效率最高
spin lock
mutex lock
r/w lock
condition variable
查看正确选项
添加笔记
求解答(12)
邀请回答
收藏(87)
分享
纠错
2个回答
添加回答
6
今晚笔试不蹦迪
自旋锁(spin lock):类似于互斥锁,但调用者的线程不会被挂起,而是一直处于忙等待的状态,因此效率远高于互斥锁。
发表于 2018-09-12 16:27:27
回复(0)
1
一笑而过2222
使用互斥锁时,如果线程尝试获取锁但失败了,它会被放到休眠状态,直到锁可用为止。而自旋锁则不同,当线程尝试获取自旋锁时,如果锁已经被其他线程占用,该线程会一直循环检查锁是否可用,直到获取到为止。这种方式避免了线程被挂起和恢复时的上下文切换开销,因此在某些情况下效率更高。 自旋锁适用于一些特定的场景,例如: 在多核处理器上运行的多线程程序,因为线程可以在自旋等待期间在其他核心上执行其他任务,而不会被挂起导致CPU资源浪费。 保护的临界区较小,且锁的持有时间较短,避免了长时间忙等待带来的性能损失。 但是需要注意的是,自旋锁也有一些局限性,例如在单核处理器上运行时可能会导致线程饥饿,因为自旋等待期间没有其他线程可以运行。
发表于 2024-05-07 14:21:59
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
iOS工程师
安卓工程师
算法工程师
2018
迅雷
Java工程师
来自:
2018迅雷校园招聘i...
上传者:
小小
难度:
2条回答
87收藏
4296浏览
热门推荐
相关试题
下面描述中,符合结构化程序设计风格...
搜狐
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
设一组初始记录关键字序列为(30,...
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
测试工程师
安全工程师
2018
奇安信
评论
(1)
怎样修改linux的时区,在不重启...
迅雷
Linux
评论
(4)
给定fun函数如下,那么fun(1...
迅雷
C++工程师
2018
C语言
评论
(6)
来自
2018迅雷校园招聘iO...
电路板布线的时候尽量采用( )折线布线
PCB
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题