Встречается на 1% собеседований по Python
Есть ли опыт использования процессов
Да, работал с процессами через модуль multiprocessing. Основные моменты:
- Создание процессов через
Process:
python
from multiprocessing import Process
def worker():
print("Процесс выполнен")
if __name__ == "__main__":
p = Process(target=worker)
p.start()
p.join()- Обмен данными через
QueueилиPipe:
python
from multiprocessing import Queue
q = Queue()
q.put("Сообщение")
print(q.get()) # Выведет "Сообщение"- Пул процессов для параллельных задач:
python
from multiprocessing import Pool
def square(x):
return x * x
with Pool(4) as p:
print(p.map(square, [1, 2, 3])) # [1, 4, 9]Нюансы:
if __name__ == "__main__"обязателен для Windows.- Процессы используют больше ресурсов, чем потоки, но избегают GIL.
- IPC (межпроцессное взаимодействие) сложнее, чем с потоками.

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