Цитата Сообщение от Сергей0308 Посмотреть сообщение
Вообще-то алгоритм работы нужно сделать так, чтобы он разруливал любые ситуации
Согласен, но он разруливает.

Цитата Сообщение от Сергей0308 Посмотреть сообщение
, например запускаете новую установку(или сбросили наработку после замены одного из компрессоров), у всех наработка "0",
Если воздействие требует только одного компрессора, то будет запущен первый. Программа выполняется в цикле, если ей хватит одного, будет запущен 1. Если необходимо больше, то оба.

Цитата Сообщение от Сергей0308 Посмотреть сообщение
надо запустить один компрессор, любым способом, сделать приоритетность или с помощью ГСЧ, но алгоритм должен как-то разрешить эту ситуацию.
Само выполнение инструкций программы подряд, а не в разнобой, всегда, при равном значении моточасов запустит первый. Но если моточасы равные, какая разница, какой запускать? При следующем запуске моточасы 100% будут отличаться.
И да, моточасы имеют не только целые значения.

Цитата Сообщение от Сергей0308 Посмотреть сообщение
По-вашему, я так понимаю, он должен в ступор впадать?
Исходя из вашего предположения, как мне показалось, тут не ступор, а если моточасы именно в целых моточасах считать, то при кратковременной работе, будет работать только один компрессор. А не ступор.
Но если один компрессор будет работать чаще другого (если допустили такую ошибку и моточасы считаем только целыми часами), то первый компрессор выйдет "на сервис", и будет исключен из очереди, по "ошибке".