当前在线人数18137
首页 - 分类讨论区 - 海外生活 - 待字闺中版 - 同主题阅读文章

此篇文章共收到打赏
0

  • 10
  • 20
  • 50
  • 100
您目前伪币余额:0
未名交友
[更多]
[更多]
最近面试都是多线程的啦?类似c++ semaphore , 但需要动态改
[版面:待字闺中][首篇作者:gobigred] , 2020年02月24日13:52:59 ,450次阅读,2次回复
来APP回复,赚取更多伪币 关注本站公众号:
[分页:1 ]
gobigred
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 1 ]

发信人: gobigred (我是tony), 信区: JobHunting
标  题: 最近面试都是多线程的啦?类似c++ semaphore , 但需要动态改变 (转载)
发信站: BBS 未名空间站 (Mon Feb 24 13:52:59 2020, 美东)

【 以下文字转载自 Programming 讨论区 】
发信人: gobigred (我是tony), 信区: Programming
标  题: 最近面试都是多线程的啦?类似c++ semaphore , 但需要动态改变semaphore的值
发信站: BBS 未名空间站 (Mon Feb 24 13:51:57 2020, 美东)

面试题是这样的,c++
有很多同时进行的 request 或者action, 都会call同一个function,

需要你在这个function中控制同时执行的request/action的数目。
这个数目可变,
譬如, 刚开始, 允许的数目是 1, 也就是每次只有一个可以执行,相当于mutex. 假
如有500 个request, 那就是一个完了在下一个
过一段时间, 用户把允许的数目改为500, 也就是同时可以500个一起(当然也是
protected), 相当于semaphore, 假如有500个,可以不等待一起执行, 假如是1000个
,第一批500个同时进行,后面的就得等 someone to sem_post.

一开始思路就是这样,讨论了一会。 但问题是, 这个数目可以动态变化, 怎么实现。
这样的话, mutex 和 semaphore 都不能选了,semaphore不能改值, 想到可以可以
用 conditional_variable, 把“到了500个”作为一个event,  很快时间到了,也没能
给出答案。后来想想, 好像是可以的。
哪位大牛看看怎么实现比较好?


--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 2601:641:8080:1]

 
nobrain
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 2 ]

发信人: nobrain (nobrain), 信区: JobHunting
标  题: Re: 最近面试都是多线程的啦?类似c++ semaphore , 但需要动态改
发信站: BBS 未名空间站 (Tue Feb 25 07:50:21 2020, 美东)

最讨厌并行编程了,又难debug, api又难用
--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 198.]

 
edison2012
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 3 ]

发信人: edison2012 (jimmy), 信区: JobHunting
标  题: 最近面试都是多线程的啦?类似c   semaphore , 但需
发信站: BBS 未名空间站 (Tue Feb 25 15:54:50 2020, 美东)

atomic啊!set/inc/dec

--
※ 来源:· 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 73.]

[分页:1 ]
[快速返回] [ 进入待字闺中讨论区] [返回顶部]
回复文章
标题:
内 容:

未名交友
将您的链接放在这儿

友情链接


 

Site Map - Contact Us - Terms and Conditions - Privacy Policy

版权所有,未名空间(mitbbs.com),since 1996