Измерьте, и вы узнаете. Полные процессы с трубами достаточно легки для большого количества применений. Для других приложений требуется что-то более легкое, например потоки ОС (pthreads является популярным выбором для многих приложений Unix), или сверхлегкое, например, пакет потоков пользовательского уровня, который никогда не переходит в режим ядра, за исключением обработки ввода-вывода. Хотя единственный способ узнать наверняка - это измерить, каналы, вероятно, достаточно хороши для нескольких десятков потоков, в то время как вы, вероятно, захотите потоки пользовательского уровня, когда получите несколько десятков тысяч потоков. Точно, где границы должны быть нарисованы с использованием сегодняшних кодов, я не знаю. Если бы я хотел знать, я бы измерил: -)