Что означает регулирование событий? - PullRequest
0 голосов
/ 11 сентября 2018

Я прочитал целую кучу статей о дросселировании Rx этим утром, и я был немного смущен дросселированием.В этой статье говорится: «Регулирование обеспечивает максимальное количество вызовов функции в течение определенного времени (как при выполнении этой функции не чаще, чем раз в 100 миллисекунд)». Но, читая эту статью , там написано, что «троттлинг реализует debounce в Rx».

Мой вопрос: каково реальное определение регулирования (примеры кода их использования могут помочь?)

1 Ответ

0 голосов
/ 11 сентября 2018

Троттлинг устанавливает потолок для количества событий.Если вы установите потолок равным 10 и получите 2 события (значительно ниже потолка), оба события будут обработаны как можно скорее.

Деблокирование приводит к задержке между событиями.Если вы установите задержку на 1/10 секунды и вы получите 2 события, между ними будет задержка на 1/10 секунды.Задержка одинакова независимо от того, сколько событий получено.

Если события обрабатываются очень быстро, дроссель, установленный на 10, и отладчик, установленный на 1/10-й, будут иметь более или менее тот же эффект, пока находятся в тяжелом состоянии.движение.Если для обработки событий требуется слишком много времени, отмена удаления снижает пропускную способность, поскольку добавляет дополнительную задержку.При низкой нагрузке регулирование более эффективно, потому что задержка не добавляется.А регулирование обладает всеми преимуществами устранения неполадок при высоких уровнях трафика.

Другими словами, регулирование позволяет более адекватно решить проблему, но устранение неполадок легче реализовать.Автор указывает, что метод Throttle() на самом деле не работает.Поэтому тот, кто написал этот код, «обманул», другими словами.

...