LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

вся система таймеров пишется за час-два на с++. нужны только треды, мьютексы, и cond var. по простому - делают отдельный тред таймеров, который и запускает те таймеры, что в очереди, как только придет из время.

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

примерно такие таймеры есть во всяком уважающем себя плюсовом фреймворке. если таймеров нет - значит фреймворк куцый и не имеет даже базовой функциональности.

зы. а то что у тебя - это не про таймеры, а про event-driven. кстати в event-driven, таймеры все равно могут быть, поскольку таймерные ивенты заброшенные в очередь сервису, будут обработаны не сразу, а как только у сервиса до них руки дойдут. а это уже не вполне «таймерные» ивенты.

а релаьные таймеры более строго привязаны ко времени, чем твой вариант с ивентами

Исправление alysnix, :

вся система таймеров пишется за час-два на с++. нужны только треды, мьютексы, и cond var. по простому - делают отдельный тред таймеров, который и запускает те таймеры, что в очереди, как только придет из время.

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

примерно такие таймеры есть во всяком уважающем себя плюсовом фреймворке. если таймеров нет - значит фреймворк куцый и не имеет даже базовой функциональности.

Исходная версия alysnix, :

вся система таймеров пишется за час-два на с++. нужны только треды, мьютексы, и cond var. по простому - делают отдельный тред таймеров, который и запускает те таймеры, что в очереди, как только придет из время.

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

примерно такие таймеры есть во всяком уважающем себя плюсовом фреймворке. если таймеров нет - значит фреймворк куцый и не имеет даже базовой функциональности.