首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
zk_kiger
2021-08-05 22:06
西安邮电大学 Java
关注
已关注
取消关注
字节面试题:一千万大小的数组,10个线程并发修改数组
一千万大小的数组,10个线程并发修改数组,要求使用一个 Mutex 来解决并发问题。
面试官就简单给了一下数组大小,mutex 拥有 lock unlock 操作,开 10 个线程,获取一个随机下标,去调用 modify 方法。自己大概复现了一下代码,如下:
面试官要求使用一个 mutex,各位大佬有什么想法吗,交流交流,最好能附上代码
🤗
#字节跳动面试#
#面试题目#
#字节跳动#
提示
全部评论
推荐
最新
楼层
红烧排骨好吃
五邑大学 golang
大佬们看看这样行吗实现代码+测试代码+测试结果
2
回复
分享
发布于 2021-08-19 10:02
红烧排骨好吃
五邑大学 golang
用一个一千万个位的变量,访问那个下边就那个置1,如果已经是1则阻塞,保证置1的过程是原子的就行了,这样可以吗
3
回复
分享
发布于 2021-08-18 18:09
疾风小飞飞
湖南大学 C++
我是垃圾,我直接在obj[n]++前面mutex.Lock(),后面mutex.Unlock()😂
点赞
回复
分享
发布于 2021-08-12 12:50
薇猪猪
百度_后端
是不是模拟乐观锁的情况,识别竞争加锁?不然一个锁,实在太难快起来😂
点赞
回复
分享
发布于 2021-08-07 03:23
面试官不要为难我胖虎了
华中科技大学 C++
#include <bits/stdc++.h> std::mutex data_mutex; std::condition_variable data_var; int flag=0; int i=0; int array[100]={0}; void modify(int arr[], int i){ int index=rand()%100; std::cout<<index<<std::endl; arr[index]=i+1; } void printA(int i){ while(1){ std::unique_lock<std::mutex> lck(data_mutex); data_var.wait(lck, [=]{return flag==i;}); std::cout<<"Threadi:"<<i<<std::endl; modify(array, i); flag=(flag+1)%10; data_var.notify_all(); } } int main(){ std::vector<std::thread> thread_arr; thread_arr.reserve(10); for(int i=0; i<10; ++i){ thread_arr.emplace_back(std::thread{printA, i}); } for(int i=0; i<10; ++i){ thread_arr[i].join(); } } 这个代码,我的想法是用i来区分10个线程,当flag==i的时候,执行当前线程,其他会阻塞等待flag 但是每10个线程生成的index都是一样的,想知道这是怎么回事,有大佬指点吗?
点赞
回复
分享
发布于 2021-08-06 11:00
清风觅影
西安电子科技大学 golang
直接用cas实现原子操作吧。。。这一个mutex真没想明白。。。
点赞
回复
分享
发布于 2021-08-06 00:36
白帽帅哥
西北大学 Java
用全局?
点赞
回复
分享
发布于 2021-08-05 23:17
暂无评论,快来抢首评~
相关推荐
昨天 21:14
美团_HR(准入职员工)
腾讯云智研发内推,腾讯云智研发内推码
真实体验是有超好的导师制定成长计划,全程辅导,各种腾讯内部学习网站和资料,上下班班车接送,然后基本一月团建一次。工作压力中等,百分之70情况能6点多下班,其他情况一般在8点左右。早投递,早筛选,早拿offer.!!!敲重点 用我的内推码投递后一定要评论区留言mark一下,以后好找我查进度,我秋招就是随便填别人的内推码,后来查进度都不知道找谁。惨痛的经历。腾讯集团旗下|云智研发公司26届校招内推启动!【公司简介】云智研发公司是腾讯旗下的子公司,公司坚持投资区域书,布局研发人才,聚集云和智慧产业基础产品和行业标准产昂的研发。推进云与产业互联网战略落地,助力产业数字化转型升级,公司规模超过5000人...
腾讯成长空间 5933人发布
点赞
评论
收藏
分享
12-19 11:59
浙江大学 Java
已建立连接的 TCP 收到新的 SYN 会怎样?
图解TCP/UDP牛客面...
点赞
评论
收藏
分享
10-29 19:48
河南科技大学 Java
刚打开boss就看到了爱耄hr
点赞
评论
收藏
分享
12-21 21:06
蚌埠坦克学院 嵌入式软件开发
领导对我说过有启发的话
有一次,mt对我说过一句话:“先把事情做成,再去追求完美。”这句话看起来很普通,却在很长一段时间里改变了我做事的方式。以前遇到问题,我总想着一步到位,方案要完整、代码要优雅、结果要足够好才肯开始。结果往往是准备得越久,越容易拖延,事情反而迟迟没有进展。后来我慢慢发现,真正推动事情向前的,不是一开始就做到完美,而是先迈出那一步。哪怕是一个不够漂亮的实现、不够成熟的想法,只要它真实地落地了,就能暴露问题、积累经验,也更容易持续迭代。这句话让我学会降低“开始”的门槛,把精力放在执行和反馈上。很多看似复杂的事情,正是在不断修正中逐渐变好的。与其被完美困住,不如先行动起来。
投递完美世界等公司10个岗位
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
15
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
26届双非本鼠硕拿下5个ssp的秋招总结及一条龙经验分享
1.0W
2
...
【25年终总结】-牛客运营团队
4407
3
...
实习没事做是福还是祸?
4068
4
...
学校发力了,没招了牛友们
3522
5
...
大二混子终于找到实习了...
2747
6
...
【求助】被hr骂“刷子”什么意思?
2665
7
...
尼克狐尼克,你被捕了
2326
8
...
关于我小心翼翼触碰安全红线这件事
1940
9
...
校招入职半年之后又回到了这个地方
1872
10
...
快手昨晚是咋了,有无懂牛?
1632
创作者周榜
更多
正在热议
更多
#
2025年终总结
#
148366次浏览
2524人参与
#
秋招落幕,你是He or Be
#
3327次浏览
76人参与
#
应届生进小公司有什么影响吗
#
109147次浏览
1116人参与
#
比亚迪工作体验
#
70241次浏览
254人参与
#
你面试体验感最差/最好的公司
#
3202次浏览
56人参与
#
工作中听到最受打击的一句话
#
2643次浏览
61人参与
#
大厂VS公务员你怎么选
#
71340次浏览
660人参与
#
重来一次,你会对开始求职的自己说
#
3086次浏览
71人参与
#
一人说一个提前实习的好处
#
3518次浏览
71人参与
#
团建是“福利”还是是 “渡劫”
#
4119次浏览
110人参与
#
实习没事做是福还是祸?
#
8493次浏览
135人参与
#
如何排解工作中的焦虑
#
244029次浏览
2241人参与
#
从顶到拉给所有面过的公司评分
#
144826次浏览
518人参与
#
今年你最想重开的一场面试是?
#
1482次浏览
25人参与
#
你小心翼翼的闯过多大的祸?
#
7064次浏览
109人参与
#
联影求职进展汇总
#
123867次浏览
781人参与
#
OPPO求职进展汇总
#
755965次浏览
5390人参与
#
互联网公司爆料
#
158625次浏览
724人参与
#
产品实习,你更倾向大公司or小公司
#
189146次浏览
2053人参与
#
秋招结束之后的日子
#
113928次浏览
1039人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务