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

 找回密码
 立即注册
  • 曝余文乐与神秘女子现身泰国红灯区 享受皇帝浴
  • 女大十八变!闫妮27年前军装照曝光 肤白貌美超清纯
  • 友人怀疑方媛整容 郭富城力挺女友纯天然
  • 舒淇冯德伦高能撒狗粮!牵手亲吻搂抱喂食
  • 陈乔恩晒美照皮肤白皙 自称“在等人间四月天”
  • 文章马伊琍新作智商在线 泡面头遭吐槽丑到一起
  • 蒋劲夫晒与工作人员合照 却遭网红外教抢镜
  • 价值31000000元!这是世界最大金币:竟被神奇偷走
  • 印尼7米巨蟒吞食25岁男子:村民剖开蛇肚发现遗体
  • 厉害了!小猩猩用报纸包住电线防触电:画面看呆
  • 新动向:苹果的智能眼镜
  • Snap或是美国市场最糟糕的IPO,会崩溃吗?
  • 腾讯成为特斯拉第五大股东,全面进军自动驾驶市场
  • 小心,税收改革或陷入困境
  • 芝加哥联邦参议员埃文斯:共和党医保法案的失败增加了美国的不确定性
  • Model 3:特斯拉迈出关键一步
  • 看好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
搜索
查看: 3047|回复: 9

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

[复制链接]

21

主题

248

帖子

288

积分

中级会员

Rank: 3Rank: 3

积分
288
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?


新浪微博官方账号】美国省钱快报FunInUSA : 每日滚动更新美国市场折扣资讯微商进货首选资讯渠道。
回复 百度谷歌雅虎搜狗搜搜有道360奇虎

举报

18

主题

94

帖子

130

积分

注册会员

Rank: 2

积分
130
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
--

24

主题

91

帖子

142

积分

注册会员

Rank: 2

积分
142
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?

21

主题

61

帖子

106

积分

注册会员

Rank: 2

积分
106
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

主题

230

帖子

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

主题

82

帖子

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?

20

主题

86

帖子

128

积分

注册会员

Rank: 2

积分
128
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?

32

主题

96

帖子

165

积分

注册会员

Rank: 2

积分
165
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?

24

主题

1146

帖子

2276

积分

金牌会员

Rank: 6Rank: 6

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

29

主题

1186

帖子

2364

积分

金牌会员

Rank: 6Rank: 6

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

本版积分规则

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

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

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

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

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