Цитата(sigmaN @ Feb 25 2017, 20:20)

Основным требованием при реализации был минимальный оверхед во всем.
Очень не похоже, что основное требование выполнено, например, крутить свой счетчик для каждой из задач идея сама по себе редко когда удачная. Ну и я понимаю, что оптимизация великая сила, и наверняка сделает все возможное, но писать такое:
Код
timers[i] = (timers[i]>0)? (timers[i]-1):(timers[i]);
это как бы уже перебор.