Каковы основные недостатки каналов Windows для межпроцессного взаимодействия?

Допустим, вы разбиваете монолитную программу Windows на компоненты многократного использования, которые могут взаимодействовать друг с другом, используямежпроцессного взаимодействия (IPC), и по любой причине вы выбираете анонимные каналы (например, запускаете несколько Process-ов и подключаете Console.Out к Console.In следующего процесса или просто используете «|» в командной строке).

Статья доктора Доббса с примеромс именованными трубами:

Какое будет снижение производительности по сравнению с другими методами IPC на той же машине? И что станет первой проблемой при увеличении количества процессов или количества передаваемых данных?

Например. Если бы вместо каналов мы использовали файлы, мы столкнулись бы с проблемами блокировки и скоростью диска.

Обратите внимание, что при необходимости сериализации передаваемых структур данных уже есть издержки, которые являются моей базой для потери эффективности.

PS. Интерес к каналам заключается в том, что их легко реализовать в каждом процессе (Console.Readline, Console.WriteLine), легко писать для них MSMQ и асинхронные HTTP-интерфейсы, а также любовь к Unix и командной строке.

Ответы на вопрос(1)

Ваш ответ на вопрос