gpt4 book ai didi

multithreading - 如何在go中实现简单的流量整形

转载 作者:IT王子 更新时间:2023-10-29 02:19:26 24 4
gpt4 key购买 nike

我正在尝试在 go 中实现简单的流量整形器。

API 是:push(int):将一个 int 放入整形器中out():从整形器输出 1 个或多个整数。

推送由客户端调用,速率无法控制。out 大约每 1 毫秒调用一次,可以输出 1 个或多个整数,并试图保持每 1 秒 r 个整数的恒定输出速率,但如果整形器的内部缓冲区有填满的危险,则可以输出更多。但是,输出应尽可能统一。例如:输出:1 1 2 2 2 1 优于输出:1 1 5 1 1

因为第二个例子是突发的(有 5 个整数的输出)。

我知道如何使用漏桶算法来做到这一点。

我的问题:如何在 Go 中实现大致以 1 毫秒为单位半定期调用输出?

最佳答案

How to implement in Go that output is called semi-regularly roughly at 1ms ticks?

使用标准time.Ticker , 配置为刷新输出 every 1 millisecond .

关于multithreading - 如何在go中实现简单的流量整形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55184424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com