Встречается на собеседованиях • сегодня
В чём разница между многопроцессностью и многопоточностью
Многопроцессность и многопоточность — это два подхода к параллельному выполнению задач, но с разной организацией памяти и изоляцией.
Многопроцессность:
- Каждый процесс имеет свою собственную память (изолированное адресное пространство).
- Более устойчив к сбоям (падение одного процесса не влияет на другие).
- Затраты на создание и переключение выше из-за разделения памяти.
- В Python хорошо обходит GIL (Global Interpreter Lock), так как каждый процесс имеет свой интерпретатор.
Многопоточность:
- Потоки разделяют общую память (одно адресное пространство).
- Легче обмениваться данными между потоками, но требуется синхронизация.
- В Python потоки ограничены GIL, что делает их неэффективными для CPU-задач (подходят для I/O-bound задач).
Пример с потоками:
python
import threading
def task():
print("Thread running")
thread = threading.Thread(target=task)
thread.start()Пример с процессами:
python
import multiprocessing
def task():
print("Process running")
process = multiprocessing.Process(target=task)
process.start()
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы