- Если я использую многопоточность или запускаю многопроцессорную обработку
Если вы хотите, чтобы это выполнялось одновременно, это единственный вариант, если вам нужно дождаться завершения каждого из них.и да, это хорошо (с самого начала)
Потребуется ли мне изолировать каждый процесс с помощью домена приложения?
Нет, это отдельный процесс, они уже изолированы, если не решат использовать общие ресурсы.
Нужно ли назначать GUID перед запуском каждого экземпляра?
Понятия не имею, зачем вам GUID?Вы говорите нам
Какой должна быть рекомендация, которой я должен следовать?
Рекомендуется не запускать консольное приложение несколько раз.Я хочу поместить функциональность в код и взять на себя ответственность за то, что он делает и как он это делает.
Как сохранить лучший контроль над экземплярами, например, если один экземпляр не был завершен или завис, а другой должен продолжать обслуживаться?
Это полностью детали вашей реализации.Если эти процессы зависают, возможно, вам придется их убить.а как это контролировать?TPL, задачи, потоки, CancellationTokens, Timers, это ваше дело ..
Обновление
Вы голосовали за многопроцессорность по многопоточности?Я хотел понять, что является преимуществом или недостатком использования PROC и запуска нескольких exe по сравнению с параллельной потоковой передачей.Какой из них лучше.Просто экземпляры обновлений не попадут ни в одну общую файловую систему (папку).и как App Domain будет иметь какое-либо значение?
У них обоих есть свои преимущества.
Отдельный процесс полностью отделен от ресурсов операционной системы, которые они совместно используют.Подобно отдельным доменам приложений, он настолько же изолирован, насколько вы можете создать структуру .net.Если вам нужна полная изоляция, возможно, стоит рассмотреть отдельный процесс.
Недостатком отдельных процессов является то, что вы не можете легко выделять и распределять ресурсы.
Где, в рамках одного домена приложения и одного процесса, вы можете воспользоваться преимуществами TPL и лучше разделять потоки, ЦП и ресурсы.Другими словами, у вас есть более точный контроль за происходящим, вы не рискуете неэффективным истощением и насыщением потоков, его легче отлаживать, проще управлять и обслуживать, легче регистрировать, легче начать останавливатьи отменить, и более отказоустойчивый.Есть еще много преимуществ для одного процесса, хотя я думаю, что вы получите картину.