Встречается на собеседованиях • сегодня
Как общаться между несколькими процессами
В Python для межпроцессного взаимодействия (IPC) можно использовать несколько подходов:
- Очереди (Queue) - потокобезопасный способ обмена данными:
python
from multiprocessing import Process, Queue
def worker(q):
q.put('Hello from child')
if __name__ == '__main__':
q = Queue()
p = Process(target=worker, args=(q,))
p.start()
print(q.get()) # Получаем сообщение
p.join()- Каналы (Pipe) - двунаправленное соединение:
python
from multiprocessing import Pipe, Process
def worker(conn):
conn.send('Message')
conn.close()
parent_conn, child_conn = Pipe()
p = Process(target=worker, args=(child_conn,))
p.start()
print(parent_conn.recv()) # Получаем сообщение
p.join()- Разделяемая память - через Value/Array:
python
from multiprocessing import Process, Value
def worker(n):
n.value += 1
num = Value('i', 0)
p = Process(target=worker, args=(num,))
p.start()
p.join()
print(num.value) # 1Для сложных сценариев можно использовать менеджеры (multiprocessing.Manager) или внешние брокеры сообщений (Redis, RabbitMQ). Выбор метода зависит от требований к производительности и сложности данных.

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