首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
清风觅影
西安电子科技大学 区块链
直接用cas实现原子操作吧。。。这一个mutex真没想明白。。。
点赞
回复
分享
发布于 2021-08-06 00:36
白帽帅哥
西北大学 Java
用全局?
点赞
回复
分享
发布于 2021-08-05 23:17
暂无评论,快来抢首评~
相关推荐
不愿透露姓名的神秘牛友
昨天 18:19
虚伪党
个个985的硕士闭着眼睛都有15k以上的月薪,天天嚷嚷着研究生白度读了,天天嚷嚷着反向读研了........
MMMJC:
不读研22本科出去的基本都拿28k呢,你不能用25的研究生和25的本科生比然后说没反向读研,而是25研和22本比呀
点赞
评论
收藏
分享
06-25 20:05
腾讯_HR(准入职员工)
腾讯云智研发内推
真实体验是有超好的导师制定成长计划,全程辅导,各种腾讯内部学习网站和资料,上下班班车接送,然后基本一月团建一次。工作压力中等,百分之70情况能6点多下班,其他情况一般在8点左右。早投递,早筛选,早拿offer.!!!敲重点 用我的内推码投递后一定要评论区留言mark一下,以后好找我查进度,我秋招就是随便填别人的内推码,后来查进度都不知道找谁。惨痛的经历。#腾讯集团旗下|云智研发公司25届春招补录&26届暑期实习开始!【公司简介】云智研发公司是腾讯旗下的子公司,公司坚持投资区域书,布局研发人才,聚集云和智慧产业基础产品和行业标准产昂的研发。推进云与产业互联网战略落地,助力产业数字化转型升...
腾讯云智研发公司福利 143人发布
点赞
评论
收藏
分享
06-08 22:25
门头沟学院 Java
有谁遇到这情况?
跟人机一样的hr
从零开始的转码生活:
这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞
评论
收藏
分享
06-09 09:15
曲阜师范大学 Java
27双非进大厂!!
标题党了友友们 想找一个暑假的实习 各位佬能不能帮我看看这个简历有什么地方可以改一改优化优化 最近投了几天 没啥底
Java抽象带篮子:
简历怎么写可以看看我发的帖子,你的第一个是实习经历吗?那怎么写的是你的第一个练手项目呢?简历写的怎么样直接投小厂面试一下就知道了
没有实习经历,还有机会进大厂吗
投了多少份简历才上岸
点赞
评论
收藏
分享
06-25 07:47
北京化工大学 嵌入式软件开发
自学嵌入式一点小小的建议
作为一个曾经自学嵌入式,参与过秋招/春招,投递了上百份嵌入式简历的人,发表一下自己的观点吧。当然,现在嵌入式越来越卷,难度应该更大了! 个人'基础'技能方面① 熟悉C语言;② 熟悉常用数据结构(数组、链表、堆、栈、队列)。括号中的均为线性结构,对于非线性结构(二叉树、图)等要求不高,知道即可。③ 熟悉ARM单片机,如常见的STM32F1系列的(基础型单片机)。要理解单片机的内部结构、最小系统,理解GPIO、定时器、中断基本原理,熟悉串口、SPI、IIC通信,熟悉ADC等数模转换接收、DMA传输等。-----------------------------按几年前行情,会这些基本上找个5-7K的...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
14
分享
评论
提到的真题
返回内容
招聘动态
查看更多
现代汽车前瞻技术研发挑战赛
快手
全站热榜
更多
1
...
小红书Java实习一面(6.27)
1.5W
2
...
终于还是选择跟自己和解了
2900
3
...
26届秋招在即,分享我的Offer经验
2836
4
...
鼠鼠感觉前途一片黑暗啊
2719
5
...
大三双非鼠鼠破防瞬间
2698
6
...
关于前后端面试的一些有用的知识
2614
7
...
感觉我是那种以为腾讯实习三个月
2055
8
...
美团暑期面经,已挂
1764
9
...
哎不是?
1761
10
...
如何从零开始拥有开源经历,这可能是牛客最全的整理
1480
创作者周榜
更多
正在热议
更多
#
26届校招投递进展
#
27095次浏览
215人参与
#
烟草笔面经互助
#
16736次浏览
180人参与
#
现代汽车前瞻技术研发急速编程挑战赛
#
7727次浏览
97人参与
#
为了找工作你花了哪些钱?
#
26742次浏览
256人参与
#
你今年的保底offer是哪家
#
118023次浏览
536人参与
#
你觉得技术面多长时间合理?
#
96391次浏览
707人参与
#
你觉得专业和学校哪个对薪资影响最大
#
61204次浏览
488人参与
#
kpi面有什么特征
#
51974次浏览
402人参与
#
牛友们,签完三方你在忙什么?
#
98091次浏览
852人参与
#
听到哪句话就代表面试稳了or挂了?
#
170643次浏览
1367人参与
#
如何缓解入职前的焦虑
#
192175次浏览
1338人参与
#
打工人的精神状态
#
49176次浏览
856人参与
#
查收我的offer竞争力报告
#
189427次浏览
1265人参与
#
通信/硬件公司求职体验
#
121499次浏览
860人参与
#
选完offer后,你后悔学本专业吗
#
46224次浏览
234人参与
#
你秋招想去哪些公司
#
21486次浏览
796人参与
#
你后悔选择现在的专业吗
#
83755次浏览
676人参与
#
机械人春招想让哪家公司来捞你?
#
344371次浏览
3078人参与
#
外包能不能当跳板?
#
34197次浏览
215人参与
#
牛友的志愿填报指南
#
26836次浏览
167人参与
#
地方国企笔面经互助
#
31056次浏览
105人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务