fork создаёт процесс на основе состояния родителя, spawn запускает новый интерпретатор и восстанавливает необходимое окружение. Copy-on-write позволяет после fork разделять страницы памяти до их изменения.
Что такое fork и spawn, и что такое copy-on-write?
fork создаёт процесс на основе состояния родителя, spawn запускает новый интерпретатор и восстанавливает необходимое окружение. Copy-on-write позволяет после fork разделять страницы памяти до их изменения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
fork создаёт процесс на основе состояния родителя, spawn запускает новый интерпретатор и восстанавливает необходимое окружение. Copy-on-write позволяет после fork разделять страницы памяти до их изменения.
При записи ОС создаёт отдельную копию соответствующей страницы, поэтому расход памяти растёт по мере изменений, а не обязательно сразу. Fork многопоточного процесса опасен унаследованными блокировками: в ребёнке остаётся только вызвавший поток. Spawn требует импортируемых целей и сериализуемых аргументов; обычно нужен guard if name == 'main'. Доступность и метод по умолчанию зависят от ОС и версии Python, поэтому их задают осознанно.