Здесь не описан тот простейший автомат, который работает по сигналу таймера с наибольшим общим делителем интервалов задач (100 мс), а сами задачи используют счётчики "тактов" для того, чтобы вычислять события смены своих состояний.
Тогда для первого автомата N = 5, M = 15, для второго N = 8, M = 13.
И сюда же элементарно добавляются новые состояния, например, отключение на светлое время суток - т.е. решение удобно для расширения.
Общий же диспетчер для таких автоматов представляет собой последовательную "рассылку" сигнала таймера всем подписанным на это событие автоматам один за другим. (Аналогично шаблону "Наблюдатель"). Поэтому параллелизм здесь в общем-то и не нужен.