美国华人网FuninUSA_唐人社区_北美华人论坛:找礼品卡,找折扣,找报价,找工作,找内推,找项目,找股票

 找回密码
 立即注册
  • "新闻联播"迎来新的男主播刚强 与海霞搭档亮相
  • 刘若英谈与周迅19年友情:有些东西一直不变真好
  • Selina离婚后放得开:我胸前是满满的大平台
  • 世界第二个“三亲宝宝”降生!一个娃两个妈
  • 画面惊呆!母子双双变性成世界首对变性父女
  • 赵又廷自曝不为人知的秘密 竟还和老婆高圆圆有关
  • 痛并快乐着!林心如升级当妈 辛苦挤奶仍大呼开心
  • 赵薇晒“她的年会” 和杨子姗王森重返二十岁
  • 汪小菲深情告白女儿:那么爱 有谁能理解?
  • 谢娜大方晒下巴的伤疤 她说受伤时曾血流成河
  • 市场预期:特朗普上任后的100天
  • 在看涨基本面中AMD的财务数据仍然不理想
  • 周五的市场看起来准备好了,但……
  • 税制改革是美国最大的愿望之一
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3022|回复: 9

内推面经 -再问一个blockingqueue的问题- 唐人社区|北美华人论坛

[复制链接]

20

主题

241

帖子

275

积分

中级会员

Rank: 3Rank: 3

积分
275
QQ
发表于 2016-11-20 19:32:51 | 显示全部楼层 |阅读模式
分享到:
{$content}

唐人社区-北美华人论坛-内推面经版-再问一个blockingqueue的问题


  JobHunting
标 题: 再问一个blockingqueue的问题


blockingqueue已经讨论过不少次了。我想问一下有可能执行enque的thread 和deque的
thread同时在wait吗?还有就是如何保证 enque顺序呢,比如三个enque threads都先
后wait, 唤醒的时候能保证唤醒的是第一个thread吗?Thread scheduling并不能保证
吧?那么不久违反了queueFIFO的性质吗?

--
Look. If you had one shot or one opportunity to seize everything you ever wanted in one moment.
Would you capture it or just let it slip?


回复 百度谷歌雅虎搜狗搜搜有道360奇虎

举报

17

主题

92

帖子

118

积分

注册会员

Rank: 2

积分
118
QQ
发表于 2016-11-20 21:22:03 | 显示全部楼层
JobHunting
标  题: Re:再问一个blockingqueue的问题


jave 有reentrant lock,有实现算法可以保证线程之间fair,但是会造成performance
的degradation。想想也正常吧,no free lunch。
https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/
ReentrantLock.html
--

22

主题

87

帖子

126

积分

注册会员

Rank: 2

积分
126
QQ
发表于 2016-11-20 22:09:03 | 显示全部楼层
JobHunting
标  题: Re: 再问一个blockingqueue的问题


多谢!

我想明白了。我原来想如果deque 和enque thread不会同时等待的话,synchronized +
notify不就行吗?(不是notify all) 后来想到由于synchronized, 他们其实会同时等
待,光notify就不行了。

还有一个问题就是 为什么要用循环array来做,而不用一个local的queue呢?

【 在 DPZC (Chris) 的大作中提到: 】
: 我认为不可能
: queue.






--
Look. If you had one shot or one opportunity to seize everything you ever wanted in one moment.
Would you capture it or just let it slip?

20

主题

60

帖子

93

积分

注册会员

Rank: 2

积分
93
QQ
发表于 2016-11-20 22:14:10 | 显示全部楼层
JobHunting
标  题: Re: 再问一个blockingqueue的问题


1. 要看你讨论是哪里实现的blockingqueue。general的定义只要求queue空和满的时候
wait

2. 在java的specs中,blocking queue必须是thread safe,那么就有可能同时wait

3. 在java中这个顺序是不保证的,不过可以理解为enqueque还未成功,从queue的角度
谈不上谁先谁后
--

5

主题

220

帖子

216

积分

中级会员

Rank: 3Rank: 3

积分
216
QQ
发表于 2016-11-20 23:34:03 | 显示全部楼层
JobHunting
标  题: Re: 再问一个blockingqueue的问题


我认为不可能

【 在 coldknight (冷骑士) 的大作中提到: 】
: 多谢!1,3明白了。2 我的意思是会不会同时 执行deque的thread 进入 while(
queue.
: isEmpty()) { wait();}, 而另一个执行enque的thread进入while(queue.size()==
: limit){ wait();} ? limit capacity大于等于1。
: 我觉得应该不会吧。



--

25

主题

80

帖子

138

积分

注册会员

Rank: 2

积分
138
QQ
发表于 2016-11-21 00:34:59 | 显示全部楼层
JobHunting
标  题: Re: 再问一个blockingqueue的问题



多谢!1,3明白了。2 我的意思是会不会同时 执行deque的thread 进入 while(queue.
isEmpty()) { wait();}, 而另一个执行enque的thread进入while(queue.size()==
limit){ wait();} ? limit capacity大于等于1。

我觉得应该不会吧。

【 在 refurbish (refurbish) 的大作中提到: 】
: 1. 要看你讨论是哪里实现的blockingqueue。general的定义只要求queue空和满的时候
: wait
: 2. 在java的specs中,blocking queue必须是thread safe,那么就有可能同时wait
: 3. 在java中这个顺序是不保证的,不过可以理解为enqueque还未成功,从queue的角度
: 谈不上谁先谁后





--
Look. If you had one shot or one opportunity to seize everything you ever wanted in one moment.
Would you capture it or just let it slip?

18

主题

83

帖子

118

积分

注册会员

Rank: 2

积分
118
QQ
发表于 2016-11-21 00:42:59 | 显示全部楼层
JobHunting
标  题: Re: Re:再问一个blockingqueue的问题


多谢!

【 在 zou2016 (middleboy) 的大作中提到: 】
: jave 有reentrant lock,有实现算法可以保证线程之间fair,但是会造成
performance
: 的degradation。想想也正常吧,no free lunch。
: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/
: ReentrantLock.html



--
Look. If you had one shot or one opportunity to seize everything you ever wanted in one moment.
Would you capture it or just let it slip?

30

主题

90

帖子

148

积分

注册会员

Rank: 2

积分
148
QQ
发表于 2016-11-21 01:15:15 | 显示全部楼层
JobHunting
标  题: 再问一个blockingqueue的问题


blockingqueue已经讨论过不少次了。我想问一下有可能执行enque的thread 和deque的
thread同时在wait吗?还有就是如何保证 enque顺序呢,比如三个enque threads都先
后wait, 唤醒的时候能保证唤醒的是第一个thread吗?Thread scheduling并不能保证
吧?那么不久违反了queueFIFO的性质吗?

--
Look. If you had one shot or one opportunity to seize everything you ever wanted in one moment.
Would you capture it or just let it slip?

23

主题

1098

帖子

2180

积分

金牌会员

Rank: 6Rank: 6

积分
2180
QQ
发表于 2016-11-30 19:35:15 | 显示全部楼层
我了个去,顶了

28

主题

1107

帖子

2205

积分

金牌会员

Rank: 6Rank: 6

积分
2205
QQ
发表于 2016-12-12 06:48:18 | 显示全部楼层
我只是路过,不发表意见
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

美国华人网|唐人社区|什么值得买FunInUSA.net发布的内推面经 -再问一个blockingqueue的问题- 唐人社区|北美华人论坛帖子由网友提供或转载于网络,若发布的内推面经 -再问一个blockingqueue的问题- 唐人社区|北美华人论坛侵犯了您的权益,请联系我们.
Sasa.com

Copyright ©2011 FunInUSA.com All Right Reserved.  Powered by Discuz! X3.0 小黑屋

本站信息均由会员发表,不代表美国华人网FunInUSA立场,如侵犯了您的权利请发帖投诉  技术支持: 美国华人网FunInUSA

安全联盟认证 安全联盟认证

快速回复 返回顶部 返回列表