Хорошо, так что в основном у меня есть 3 темы.
Каждый из них использует функцию, которая внутри использует send () для определенного сокета (назовем его S).
Вот маленький дизайн:
Как бы я синхронизировал S-сокет таким образом, чтобы send () вызывался один за другим в очереди вместо потоков, одновременно обращающихся к сокету?
Во-первых, почему бы не иметь фактический очередь данных для отправки и выделенного потока ввода-вывода, извлекающего из него элементы и записывающего в сокет?
Затем, если вы используете обычную семантику блокирующих сокетов, вы можете просто записывать в один и тот же сокет одновременно все три потока — ядро обеспечит необходимую блокировку на уровне системных вызовов.
Других решений пока нет …