ИМО, это зависит от вашего прецедента. Мой ответ будет основан на случае, когда ваше программное обеспечение не требует, чтобы именованный канал работал. Например, скажем, программное обеспечение, использующее именованный канал для регистрации действий. Таким образом, мы можем понять, что ваше программное обеспечение может работать без регистрации.
Это должно быть возможно, если вы запустите свою программу, не требуя существования названного пункта. Затем, как только все будет загружено и функционально, у вас может быть подпрограмма, периодически проверяющая существование именованного канала (скажем, каждые 5 секунд, чтобы не перегружать ваш процессор), и после его создания вы начнете использовать его.
Примечание: он по-прежнему выглядит как бесконечный цикл, пока он не преуспеет, но я не вижу в этом ничего плохого, так как вы делаете это правильно, говорит, вы запускаете его с неблокирующим механизмом.
Примечание: не обязательно подразумевает методы многопроцессорности. Вы можете представить один основной цикл с периодической проверкой (не каждая итерация).
Нет. Конечно, нет. Нет именованной трубы, пока вы ее не создали. – EJP
Вам не нужно использовать цикл. Просто создайте именованное событие, а также сообщите серверу о событии, когда труба будет готова. –