avatar
O*d
1
不需要写code。
一个producer, 一个consumer。 中间用一个queue连接。
producer每秒钟往queue里放一个token。 持续8秒,休息两秒,再持续8秒,休息两秒,
一直这样重复。
consumer每秒钟从queue里取出一个token,持续80秒,休息20秒,再持续80秒,休息20
秒,一直这样重复。
求:
最小的queue size,可以满足consumer每次提取时有token取用。
avatar
l*8
2
17 ?
avatar
O*d
3
推证?

【在 l*********8 的大作中提到】
: 17 ?
avatar
c*t
4
好像对,
producer必须先走20秒,放入16 token. 从第21秒,consumer开始, producer放一个
,consumer拿一个,之后的80秒里,producer产生 80/10 * 8 = 64个,与之前的16个
,总共80个token,正好够consumer用完。consumer休息的20秒里,producer重新放入16
个。。。循环
所以queue至少有16+1=17

【在 l*********8 的大作中提到】
: 17 ?
avatar
O*d
5
正解。

16

【在 c********t 的大作中提到】
: 好像对,
: producer必须先走20秒,放入16 token. 从第21秒,consumer开始, producer放一个
: ,consumer拿一个,之后的80秒里,producer产生 80/10 * 8 = 64个,与之前的16个
: ,总共80个token,正好够consumer用完。consumer休息的20秒里,producer重新放入16
: 个。。。循环
: 所以queue至少有16+1=17

avatar
z*i
6
32。
queue should always contain 16 for consumer during the active 80 seconds.
Then when the consumer is rest, another 16 is produced for next repetetion.
However, in the beginning, extra 16 required for the first 80 scondes
consumed by the consumer.

秒,
20

【在 O*******d 的大作中提到】
: 不需要写code。
: 一个producer, 一个consumer。 中间用一个queue连接。
: producer每秒钟往queue里放一个token。 持续8秒,休息两秒,再持续8秒,休息两秒,
: 一直这样重复。
: consumer每秒钟从queue里取出一个token,持续80秒,休息20秒,再持续80秒,休息20
: 秒,一直这样重复。
: 求:
: 最小的queue size,可以满足consumer每次提取时有token取用。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。