Встречается на 1% собеседований по Python
Какие знаешь способо передачи данных между процессами в Python
В Python есть несколько способов передачи данных между процессами:
- Очереди (Queue) – потокобезопасный способ обмена данными.
python
from multiprocessing import Queue, Process
def worker(q):
q.put("Hello from child!")
q = Queue()
p = Process(target=worker, args=(q,))
p.start()
print(q.get()) # "Hello from child!"
p.join()- Каналы (Pipe) – двунаправленное соединение между процессами.
python
from multiprocessing import Pipe, Process
def worker(conn):
conn.send("Data from child")
conn.close()
parent_conn, child_conn = Pipe()
p = Process(target=worker, args=(child_conn,))
p.start()
print(parent_conn.recv()) # "Data from child"
p.join()
text
3. **Разделяемая память (Value, Array, shared_memory)** – для числовых данных.
```python
from multiprocessing import Process, Value
def increment(shared_num):
shared_num.value += 1
num = Value('i', 0)
p = Process(target=increment, args=(num,))
p.start()
p.join()
print(num.value) # 1- Серверные процессы (Manager) – для сложных структур (списки, словари).
python
from multiprocessing import Manager, Process
def worker(shared_list):
shared_list.append(1)
with Manager() as manager:
lst = manager.list()
p = Process(target=worker, args=(lst,))
p.start()
p.join()
print(lst) # [1]Выбор зависит от типа данных и требований к производительности.

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