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

 找回密码
 立即注册

点击进入授权页面

只需一步,快速开始

  • 阿里巴巴业务架构史上最大调整:天猫、聚划算合并!
  • 格力成下一个万科?董明珠:任何人接手只会把企业搞垮
  • 王小川绝食!马云、王健林那些不为人知的癖好
  • 《飞刀又见飞刀》曝主题曲MV 刘恺威杨蓉演绎“爱与恨”
  • 秀智在香港拍专辑封面 准备以个人的身份出道
  • CNBLUE纪念日本出道5周年巡演落幕 7万余粉丝捧场
  • 富士康高管偷走5700台iPhone 或被判监禁10年
  • 马伊琍被指胸部缩水 煽情回应让网友看哭了
  • 没怀二胎 昆凌呕吐是因妇科疾病吃中药产生不适
  • 俄罗斯滑雪节实拍:美女集体比基尼上阵超养眼
  • 美国圣诞节大采购一般是从感恩节之后开始的-美国生活指南
  • 希拉里团队将参与绿党候选人吉尔·斯坦发起的威斯康星州重新计票-美国生活指南
  • 第3季美国生产毛额(GDP)成长率被上修到3.2%,创2年来最佳成绩-美国房产信息
  • 赌城房跳升一步!不是都在说赌城房价缓涨吗?-美国房产信息
  • 纽约三大华人小区的房市情况-美国房产信息
  • 纽约三大华人小区的房市情况-美国房产信息
  • 投资者的“恐惧”:意大利公民投票
  • 俄罗斯央行:网络抢劫的受害者
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3008|回复: 8

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

[复制链接]
TA在交友中心
0 0 39
  @ME:   

20

主题

237

帖子

275

积分

中级会员

Rank: 3Rank: 3

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

唐人社区-北美华人论坛-内推HP?mod=forumdisplay&fid=83&fromuid=1" target="_blank" class="relatedlink">面经版-再问一个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?


【返利网站】返利额度最高的海外购物返利网站Topcashback:平均返利7~10%,注册就送$10点我注册
回复 百度谷歌雅虎搜狗搜搜有道360奇虎

举报

TA在交友中心
0 0 35
  @ME:   

17

主题

90

帖子

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
--
TA在交友中心
0 0 47
  @ME:   

22

主题

82

帖子

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?

TA在交友中心
0 0 43
  @ME:   

20

主题

59

帖子

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的角度
谈不上谁先谁后
--
TA在交友中心
0 0 14
  @ME:   

5

主题

216

帖子

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。
: 我觉得应该不会吧。



--
TA在交友中心
0 0 56
  @ME:   

24

主题

78

帖子

131

积分

注册会员

Rank: 2

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

TA在交友中心
0 0 38
  @ME:   

18

主题

81

帖子

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?
TA在交友中心
0 0 67
  @ME:   

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?

TA在交友中心
0 0 1038
  @ME:   

22

主题

1054

帖子

2092

积分

金牌会员

Rank: 6Rank: 6

积分
2092
QQ
发表于 3 天前 | 显示全部楼层
我了个去,顶了
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

玩美生活FunInUSA.net 华人娱乐论坛发布的内推面经 -再问一个blockingqueue的问题- 唐人社区|北美华人论坛帖子由网友提供或转载于网络,若发布的内推面经 -再问一个blockingqueue的问题- 唐人社区|北美华人论坛侵犯了您的权益,请联系我们.
1&1 Hosting

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

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

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

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