Потоки в многопоточной службе Windows (aka serviceA) хотят дождаться, когда RabbitMQ станет доступным.RabbitMQ может быть включен или выключен в любой момент времени, пока запущен сервис A.Как лучше всего дождаться, когда RabbitMQ станет доступным?
Должен ли каждый поток устанавливать таймер на интервал - по истечении таймера проверьте, может ли он снова подключиться?
Цикл while будет нагружать процессор.
Thread.Sleep () может препятствовать остановке службы Windows.
Thread.SpinWait (), по-видимому, нагружает процессор.
Кроме того, что если:
Служба RabbitMQ остановлена
Служба A затем запускается
Через 10 минут или 3 дня запускается служба RabbitMQ