Sobes.tech
Junior — Middle

How is data transferred between separate processes in a system?

sobes.tech AI

Answer from AI

In Python, inter-process communication (IPC) is used for data transfer between separate processes. Main methods include:

  • multiprocessing module: provides Queue, Pipe objects for data exchange between processes.
  • Sockets: processes can exchange data via network sockets, even on the same machine.
  • Shared files or databases: processes read and write data from shared resources.

Example using multiprocessing.Queue:

from multiprocessing import Process, Queue

def worker(q):
    q.put('Data from child process')

if __name__ == '__main__':
    q = Queue()
    p = Process(target=worker, args=(q,))
    p.start()
    print(q.get())  # Receive data from child process
    p.join()

Thus, Queue allows safe data transfer between processes.