Встречается на собеседованиях • сегодня
Какие знаешь механизмы обмена данными между параллельными сущностями
В Python для обмена данными между параллельными процессами или потоками можно использовать несколько механизмов:
- Очереди (Queue) - потокобезопасные очереди из модуля
multiprocessingилиqueue:
python
from multiprocessing import Queue
q = Queue()
q.put('data')
data = q.get()- Каналы (Pipe) - двунаправленное соединение между процессами:
python
from multiprocessing import Pipe
parent_conn, child_conn = Pipe()
parent_conn.send('data')
child_conn.recv()- Разделяемая память - через
Value/Arrayилиshared_memory:
python
from multiprocessing import Value
counter = Value('i', 0)
counter.value += 1- Серверные процессы - менеджеры для сложных структур:
python
from multiprocessing import Manager
manager = Manager()
shared_dict = manager.dict()- Семафоры/Блокировки - для синхронизации доступа.
Для потоков также доступны примитивы из threading (Lock, Event, Condition). Выбор зависит от задачи: очереди хороши для producer-consumer, shared memory для числовых данных, а менеджеры для сложных структур.

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