Встречается на собеседованиях • сегодня
Какие знаешь способы мультипроцессорного выполнения задач
В 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
интервью вопросы и ответы