ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Четверг
26 ноября
/1046639
Топик полностью
lloyd (23.10.2020 21:10, просмотров: 52) в ответ на Проблема линейной очереди -- гигантское время вставки если в очереди 6144 таймеров, например. Кроме того API прикладного уровня может иметь, например, функцию остановки/отмены запущенного таймера. Т.е. нужны операции: 1) вставки в очередь, 2) извлечение из головы очереди, 3) удаление произвольного элемента. Бинарная куча выглядит диковато и перетряхивает вообще всю память, но у ней худшее время понятно. Есть вариант со скип-листами, но там удалить физически нельзя, только - автор: fk0
Есть замечательная статья, расписывающая возможные подходы к организации списка таймеров 

https://blog.acolyer.org/2015/11/23/hashed-and-hierarchical-timing-wheels/

Ответить
Ответы