Встречается на 2% собеседований по Python
Какие знаешь способы мультипроцессорного выполнения задач
В Python есть несколько способов для параллельного выполнения задач:
- Модуль
multiprocessing- создает отдельные процессы с собственным интерпретатором и памятью:
python
from multiprocessing import Pool
def square(x):
return x * x
if __name__ == '__main__':
with Pool(4) as p:
print(p.map(square, [1, 2, 3, 4]))- Модуль
concurrent.futures- высокоуровневый интерфейс для пула процессов/потоков:
python
from concurrent.futures import ProcessPoolExecutor
with ProcessPoolExecutor() as executor:
results = executor.map(square, [1, 2, 3, 4])- Класс
Process- ручное создание процессов:
python
from multiprocessing import Process
p = Process(target=square, args=(5,))
p.start()
p.join()-
Очереди (
Queue) - для обмена данными между процессами. -
Разделяемая память (
Value,Array) - для совместного доступа к данным.
Основные отличия от многопоточности:
- Полная изоляция памяти
- Нет проблем с GIL
- Большие накладные расходы на создание
- Лучше подходит для CPU-bound задач

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы