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

Как работает многопроцессность в Python

В Python многопроцессорность реализуется через модуль multiprocessing, который создает отдельные процессы с собственным интерпретатором и памятью. Это обходит GIL (Global Interpreter Lock), позволяя использовать несколько ядер CPU.

Пример:

python
from multiprocessing import Process

def worker(num):
    print(f'Процесс {num} запущен')

if name == 'main':
processes = []
for i in range(3):
p = Process(target=worker, args=(i,))
processes.append(p)
p.start()

text
for p in processes:
    p.join()
text

Ключевые особенности:
1. Каждый процесс имеет собственное пространство памяти
2. Обмен данными между процессами требует специальных механизмов (Queue, Pipe, shared memory)
3. Создание процессов дороже, чем потоков
4. Идеально подходит для CPU-задач, но не для I/O-bound задач

Для управления процессами часто используют `Pool`:
```python
from multiprocessing import Pool

def square(x):
    return x * x

with Pool(4) as p:
    print(p.map(square, [1, 2, 3, 4]))
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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