Многопоточная вилка

Функция can fork() используется для репликации многопоточного процесса. И если это так, будут ли все потоки одинаковыми, а если нет, почему бы и нет. Если репликация не может быть выполнена через fork, есть ли какая-либо другая функция, которая может это сделать для меня?

Ответы

Ответ 2

Нет, у ребенка будет только один поток. Вилка резьбового процесса не является тривиальной. (См. Эту статью Темы и fork(): подумайте дважды, прежде чем смешивать их для хорошего сокращения).

Я не знаю ни одного способа клонирования процесса и всех его потоков, я не думаю, что это возможно в Linux.

Ответ 3

Нет.

Форк создает новый процесс со своими потоками, копирует файловый дескриптор и виртуальную память.

Детский процесс не имеет той же памяти с отцом. Так что это абсолютно не то же самое.