Встречается на собеседованиях • сегодня

Какие инструменты применял для многопроцессорности (multiprocessing)

В Python для многопроцессорности чаще всего используется модуль multiprocessing. Основные инструменты:

  1. Process — базовый класс для создания процессов:
python
from multiprocessing import Process

def worker():
    print("Process running")

p = Process(target=worker)
p.start()
p.join()
  1. Pool — пул процессов для параллельного выполнения задач:
python
from multiprocessing import Pool

def square(x):
return x * x

with Pool(4) as p:
print(p.map(square, range(10)))

text

3. **`Queue`** и **`Pipe`** — для межпроцессного взаимодействия:  
```python
from multiprocessing import Process, Queue

def worker(q):
    q.put("Hello from child")

q = Queue()
p = Process(target=worker, args=(q,))
p.start()
print(q.get())
p.join()
  1. Manager — для разделяемых объектов (списки, словари):
python
from multiprocessing import Manager, Process

def modify_list(l):
    l.append(42)

with Manager() as manager:
    shared_list = manager.list()
    p = Process(target=modify_list, args=(shared_list,))
    p.start()
    p.join()
    print(shared_list)

Также можно использовать multiprocessing.Value и multiprocessing.Array для разделяемой памяти.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы