首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
重生之戈壁战神
门头沟学院 计算机类
发布于陕西
关注
已关注
取消关注
@编程十万问:
『面试问答』:线程间的同步方式有哪些?
面试官 : 请说一下,线程间的同步方式有哪些?同一进程内的多个线程共享同一地址空间,为了避免多个线程同时访问数据造成的混乱,需要考虑线程之间的同步问题,所谓同步,即协同步调,按预定的先后次序访问共享资源,以免造成混乱。线程同步的实现方式主要有6种:互斥锁、自旋锁、读写锁、条件变量、屏障、信号量。1 互斥锁。互斥锁在访问共享资源前对互斥量进行加锁,在访问完成后释放互斥量进行解锁。对互斥量加锁以后,任何其他试图再次对互斥量加锁的线程都会被阻塞,直至当前线程释放该互斥量。2 自旋锁。自旋锁与互斥量类似,但它不使线程进入阻塞态,而是在获取锁之前一直占用CPU,处于忙等自旋状态。自旋锁适用于锁被持有的时间短且线程不希望在重新调度上花费太多成本的情况。3 读写锁。读写锁有三种状态:读模式加锁、写模式加锁和不加锁,一次只有一个线程可以占有写模式的读写锁,但是多个线程可以同时占有读模式的读写锁。读写锁非常适合对数据结构读的次数远大于写的情况。4 条件变量。条件变量允许线程睡眠,直到满足某种条件,当满足条件时,可以向该线程发送信号,通知并唤醒该线程。条件变量通常与互斥量配合一起使用。条件变量由互斥量保护,线程在改变条件状态之前必须首先锁住互斥量,其他线程在获得互斥量之前不会察觉到条件的改变,因为必须在锁住互斥量之后它才可以计算条件是否发生变化。5 屏障。屏障是用户协调多个线程并行工作的同步机制。屏障允许每个线程等待,直到所有的合作线程都到达某一点,然后从该点继续执行。6 信号量。信号量本质上是一个计数器,用于为多个进程提供共享数据对象的访问。编程时可根据操作信号量值的结果判断是否对公共资源具有访问的权限,当信号量值大于 0 时,则可以访问,否则将阻塞。PV 原语是对信号量的操作,一次 P 操作使信号量减1,一次 V 操作使信号量加1。
点赞 2
评论 0
全部评论
推荐
最新
楼层
网易互娱
校招火热招聘中
官网直投
相关推荐
out11Man
05-19 14:48
华中科技大学 计算机类
拼多多三面 5.19
无八股 遇到过最大压力的时候 了解拼多多作息嘛 怎么看待拼多多 一道手撕题 两个小数相减 输入输出都是字符串的形式 项目太过于玩具,主管随便问了点 总时间半个小时 许愿一个HR面
投递拼多多等公司10个岗位 >
点赞
评论
收藏
转发
牛客240064247号
05-18 23:22
已编辑
门头沟学院 经济学类
求改简历!数据分析/数据运营
目前吉比特数据分析岗1面,美团的金融风险策略笔试,字节牛客过了初筛,还有什么可以优化的吗
投递美团等公司10个岗位 >
简历被挂麻了,求建议
你已经投递多少份简历了
点赞
评论
收藏
转发
23届在线找前端
04-26 10:48
前端工程师
感觉一眼假啊
点赞
评论
收藏
转发
枫k
05-15 16:58
门头沟学院 电子信息类
去哪家公司?
希望大家给给意见 谢谢大家🙏 华为 中兴 荣耀引流
24届硬件人与华为的爱恨情仇
硬件兄弟们 甩出你的华为奖状
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
全站热榜
1
...
盲审已过,答辩已过,工作已签
2.2W
2
...
没offer的我们也很优秀偶
1.1W
3
...
【有奖活动】浅聊一下我的实习⭐
9084
4
...
快手客户端开发工程师(1)
6887
5
...
pcg qq 一面
5115
6
...
双非本 腾讯WXG暑期已offer | 附面经
4974
7
...
真有必要读研吗
4615
8
...
lazada许愿oc
4275
9
...
深夜emo了,暑假实习还是0offer
4123
10
...
今天滴滴会开奖吗
3369
正在热议
#
牛客帮帮团来啦!有问必答
#
794755次浏览
12586人参与
#
机械制造薪资爆料
#
316503次浏览
3674人参与
#
晒一晒我的offer
#
3437284次浏览
54999人参与
#
国企vs私企,你更想去?
#
19805次浏览
200人参与
#
想实习转正,又想准备秋招,我该怎么办
#
115467次浏览
1291人参与
#
海康威视求职进展汇总
#
99494次浏览
1198人参与
#
如果校招重来我最想改变的是
#
88879次浏览
1541人参与
#
0offer是寒冬太冷还是我太菜
#
423673次浏览
4887人参与
#
通信硬件2024笔试面试经验
#
86769次浏览
944人参与
#
提前批过来人的忠告
#
21645次浏览
443人参与
#
投了多少份简历才上岸
#
59781次浏览
968人参与
#
产品人求职现状
#
52265次浏览
768人参与
#
荣耀求职进展汇总
#
68705次浏览
686人参与
#
实习生如何通过转正
#
26670次浏览
355人参与
#
工作压力大怎么缓解
#
10838次浏览
156人参与
#
投递实习岗位前的准备
#
624176次浏览
11126人参与
#
简历无回复,你会继续海投还是优化再投?
#
22579次浏览
316人参与
#
学历对求职的影响
#
140204次浏览
1601人参与
#
软件开发投递记录
#
477028次浏览
7223人参与
#
你的工作大概什么时候入职?
#
4702次浏览
55人参与
牛客网
牛客企业服务