Всем известна классическая модель процесса, который прослушивает соединения в сокете и разворачивает новый процесс для обработки каждого нового соединения. Обычная практика заключается в том, чтобы родительский процесс немедленно вызывал close
во вновь созданный сокет, уменьшая количество обработок, чтобы только дочерний элемент имел дескриптор нового сокета.
Я читал, что разница между процессом и потоком в Linux заключается в том, что потоки разделяют одну и ту же память. В этом случае я предполагаю, что появление нового потока для обработки нового соединения также дублирует файловые дескрипторы, а также потребует, чтобы "родительский" поток закрыл его копию сокета?