Я хочу создать процесс, работающий под Linux, который создает несколько потоков, каждый поток записывает свои данные в принимающий процесс через соединение через сокет UDP. Для определения размера, скажем, мне нужно, чтобы до ста этих потоков работали одновременно, а потоки приходили и уходили.
Лучше ли каждому потоку открывать свой собственный сокет для одного и того же места назначения, используя один и тот же номер порта UDP, когда создается поток (таким образом, требуется 100 отдельных файловых дескрипторов), или открывать сокет один раз в основном потоке передать этот файловый дескриптор каждому из потоков, чтобы каждый из них использовал один и тот же сокет? Каждый поток будет генерировать около 20 пакетов в секунду, каждый пакет длиной примерно 800 байт. Синхронизация между потоками отсутствует.