【问题标题】:What does event throttling mean?事件限制是什么意思?
【发布时间】:2019-02-15 12:41:02
【问题描述】:

今天早上我读了一大堆关于 Rx 节流的文章,我对节流有点困惑。在this article 中,它说“节流强制执行函数可以随时间调用的最大次数(就像每 100 毫秒最多执行一次此函数一样)”但是,阅读 this article,它说“节流实现了去抖动处方药。”

我的问题是限制的真正定义是什么(使用它们的代码示例会有很大帮助)?

【问题讨论】:

    标签: c# .net system.reactive throttling


    【解决方案1】:

    限制设置事件数量的上限。如果您将上限设置为 10 并接收 2 个事件(远低于上限),则会尽快处理这两个事件。

    去抖动会在事件之间强制执行延迟。如果您将延迟设置为 1/10 秒,并且您收到 2 个事件,则它们之间会有 1/10 秒的延迟。无论收到多少事件,延迟都是一样的。

    如果事件处理得非常快,则将油门设置为 10 并将去抖动设置为 1/10th 在交通繁忙的情况下会产生或多或少相同的效果。如果事件处理时间过长,去抖动会降低带宽,因为它会增加额外的延迟。在低负载下,节流更有效,因为没有添加延迟。节流具有在高流量水平下去抖动的所有好处。

    换句话说,节流更恰当地解决了问题,但去抖动更容易实现。作者指出Throttle() 方法实际上是去抖动的。因此,换句话说,编写该代码的人“作弊”。

    【讨论】:

    • 你能给我一些例子吗?
    • 我以为我做到了。您在寻找什么样的附加信息?
    • 天花板是什么意思?你能给我一些代码示例吗?
    • 您所要求的并非微不足道。也许看到this article
    猜你喜欢
    • 1970-01-01
    • 2011-12-02
    • 2012-08-18
    • 1970-01-01
    • 2011-09-13
    • 2012-08-04
    • 2019-09-12
    • 2015-01-22
    • 1970-01-01
    相关资源
    最近更新 更多