首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
zk_kiger
2021-08-05 22:06
Java
关注
已关注
取消关注
字节面试题:一千万大小的数组,10个线程并发修改数组
一千万大小的数组,10个线程并发修改数组,要求使用一个 Mutex 来解决并发问题。
面试官就简单给了一下数组大小,mutex 拥有 lock unlock 操作,开 10 个线程,获取一个随机下标,去调用 modify 方法。自己大概复现了一下代码,如下:
面试官要求使用一个 mutex,各位大佬有什么想法吗,交流交流,最好能附上代码
🤗
#字节跳动面试#
#面试题目#
#字节跳动#
提示
全部评论
推荐
最新
楼层
红烧排骨好吃
Java
大佬们看看这样行吗实现代码+测试代码+测试结果
2
回复
分享
发布于 2021-08-19 10:02
红烧排骨好吃
Java
用一个一千万个位的变量,访问那个下边就那个置1,如果已经是1则阻塞,保证置1的过程是原子的就行了,这样可以吗
3
回复
分享
发布于 2021-08-18 18:09
博乐游戏
校招火热招聘中
官网直投
白帽帅哥
Java
用全局?
点赞
回复
分享
发布于 2021-08-05 23:17
清风觅影
区块链
直接用cas实现原子操作吧。。。这一个mutex真没想明白。。。
点赞
回复
分享
发布于 2021-08-06 00:36
面试官不要为难我胖虎了
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
薇猪猪
百度_后端
是不是模拟乐观锁的情况,识别竞争加锁?不然一个锁,实在太难快起来😂
点赞
回复
分享
发布于 2021-08-07 03:23
zwjason
湖南大学 计算机类
我是垃圾,我直接在obj[n]++前面mutex.Lock(),后面mutex.Unlock()😂
点赞
回复
分享
发布于 2021-08-12 12:50
博乐游戏
校招火热招聘中
官网直投
相关推荐
贫道是幼荷
04-15 15:49
大连海事大学 电子信息类
想问一下下一步该干什么比较好
目前学完了spring,springmvc,springboot3,docker基础,redis基础,vue3基础。 以后也是想走java后端的道路 那么现在阶段该学点啥呢是springcloud还是做个项目比较好,目前研一
牛客帮帮团来啦!有问必答
点赞
评论
收藏
转发
咬屁屁的羊
03-25 14:24
产品助理
三本,23届被裁,真好啊,这回能gap 一辈子了,家人们我准备去拍段子了
点赞
评论
收藏
转发
Dawn_Breaks
04-08 19:33
已编辑
哈尔滨工业大学 计算机类
美团拜拜
天天烧香还是没留住😅啥时候能找着实习啊————————更新,收到感谢信了😭
点赞
评论
收藏
转发
小飞龙OvO
04-14 15:41
门头沟学院 计算机类
4.14 字节笔试 中等偏难
字节第四次春招笔试一共四道编程题,难度中等偏上,对于算法基础薄弱的同学来说很有挑战性,需要有一些算法功底。code放在 gz号了 :offer小飞龙如果同学们有什么算法上的问题,可以找小飞龙咨询呦,无偿答疑!题目就以大意的形式给出第一题 题目大意:给你一个数组,你可以选择其中的一个区间,并将区间中的每个字符翻转,(定义翻转一个数字指数字正着读变成倒着读,例如”1234"变成”4321”"1430"变成”341”,不包含前导零)求操作后区间和最大可能值题解:求出每一个翻转后的数与原数的差值,然后就是经典的最大区间和问题,记录最大答案即可。(有一个小坑:所选区间不能为...
投递字节跳动等公司10个岗位 >
技术岗笔试题求解
点赞
评论
收藏
转发
点赞
14
评论
分享
回复帖子
招聘动态
查看更多
小红书
24届春招&25届实习生招聘
博乐游戏
24届春招&25届实习生招聘
24届春招硬件高薪职位集合
阅文集团2024春季校招
全站热榜
1
...
团孝子0实习勇闯暑期
1.5W
2
...
【暑期实习总结】 无法去当腾孝子了TAT
1.3W
3
...
25届第一份实习怎么找?
1.2W
4
...
看着妈妈发的微信眼泪止不住的流
1.0W
5
...
盲审过了!加油兄弟们!
8555
6
...
硕士论文盲审过啦
8545
7
...
25届三本鼠鼠的求职回忆录
6779
8
...
【奖品公示】八股题单第一周获奖名单👏👏
6737
9
...
兄弟们我该怎么办
6533
10
...
心态崩了,不想面也不想投了,就这样吧
6528
正在热议
#
牛客帮帮团来啦!有问必答
#
113219次浏览
2912人参与
#
你会选择考研还是直接就业
#
53098次浏览
598人参与
#
比亚迪求职进展汇总
#
107534次浏览
930人参与
#
机械专业只有考研才有出路吗
#
16830次浏览
333人参与
#
入职第三天,晒晒你的工位
#
4314次浏览
38人参与
#
你觉得通信/硬件有必要实习吗?
#
16771次浏览
367人参与
#
OPPO求职进展汇总
#
73296次浏览
874人参与
#
23届的你们都什么时候入职?
#
68482次浏览
583人参与
#
找工作时遇到的神仙HR
#
139424次浏览
1441人参与
#
非技术岗是怎么找实习的
#
58916次浏览
1216人参与
#
高学历就一定能找到好工作吗?
#
5981次浏览
101人参与
#
找不到好工作选择GAP真的丢人吗
#
6917次浏览
76人参与
#
Offer比较,你最看重什么?
#
39011次浏览
403人参与
#
学历对求职的影响
#
107439次浏览
1192人参与
#
你觉得机械有必要实习吗
#
5648次浏览
77人参与
#
快手工作体验
#
32402次浏览
676人参与
#
联想求职进展汇总
#
30175次浏览
505人参与
#
选了这个offer,你有没有后悔?
#
69275次浏览
601人参与
#
0offer是寒冬太冷还是我太菜
#
321125次浏览
4041人参与
#
华为开奖那些事
#
589627次浏览
5326人参与
牛客网
牛客企业服务