Не технологический подкаст, но я действительно должен упомянуть FreelanceRadio. Действительно большой и иногда веселый ресурс. Я слушаю их утром на способе работать. И иногда чувствуйте себя действительно глупыми просто хихикание один: P
В настоящее время потоки в Linux пытаются сохранить соответствие POSIX. Реплицируется только вызывающий поток, а не другие потоки (обратите внимание, что, например, в Solaris вы можете выбрать, что будет делать вилка в зависимости от того, на какую библиотеку вы ссылаетесь)
Из http://www.opengroup.org/onlinepubs/000095399 /functions/fork.html (POSIX 2004):
Процесс должен быть создан с одиночный поток. Если многопоточный процесс вызывает
fork ()
, новый процесс должен содержать копию вызова поток и все его адресное пространство, возможно, включая государства мьютексы и другие ресурсы. Следовательно, чтобы избежать ошибок, дочерний процесс может выполняться только асинхронно-сигнально-безопасные операции до например, одна из функцийexec
называется. Вилка обработчики могут быть созданы посредством функцииpthread_atfork ()
в чтобы поддерживать приложение инварианты для вызововfork ()
.
Спецификация POSIX 2018 для fork ()
аналогична.
Потоки не наследуются от дочернего процесса в системе Linux с помощью fork (). Подробный источник находится здесь: http://linas.org/linux/threads-faq.html