Это интересный вариант, и вы, вероятно, получите ОБА рекомендованные варианты, просто потому, что оба имеют свои преимущества и недостатки, и многое зависит от того, как их оценивать.
Хорошо, третий вариант: один поток?Если я правильно вас понял, вы подключаете интерфейс к IPC, поэтому, если один поток одновременно реагирует на вход с одной стороны и отправляет его с другой стороны?Я не думаю, что вы теряете много времени для ответа таким образом, если таковые имеются, и у вас есть все это в одном месте.Если источник слишком велик, вы можете посмотреть, какие классы вы можете разделить, а не разделять на потоки или интерфейсы.