Требуется реализовать алгоритм скользящее окно.   C#

На этапе инициализации задаются 2 параметра:  

1) максимально возможное количество обращений;  

2) ширина окна (длина временного интервала) в миллисекундах (например 30 обращений в одну секунду(1000мс)).  

Алгоритм должен обеспечивать многопоточную обработку входящих запросов от подписчиков по добавлению элементов в исходящую очередь максимально быстро с соблюдением ограничений, накладываемых параметрами окна.  

Далее подписчики начинают в нескольких потоках запрашивать алгоритм о возможности добавить элемент.  

Пример для (2 100)  

Да (таймаут 50 мс) Да, Нет, (таймаут 50 мс), Да, Нет, Нет ...  

Ожидаемая нагрузка: из шестидесяти четырех потоков, этот метод каждую секунду в течении 10 секунд будет вызываться миллион раз

8 лет назад
LiderJob
Иван 
40 лет
17 лет в сервисе
Был
4 года назад

Заявки фрилансеров

Нет заявок фрилансеров