Sobes.tech
Junior — Middle

Como é que a transferência de dados entre processos no sistema é realizada?

sobes.tech IA

Resposta da IA

Em Python, para transferência de dados entre processos separados, utiliza-se a comunicação entre processos (IPC). As principais formas são:

  • Módulo multiprocessing: fornece objetos Queue, Pipe para troca de dados entre processos.
  • Sockets: processos podem trocar dados através de sockets de rede, mesmo na mesma máquina.
  • Arquivos ou bases de dados partilhados: processos leem e escrevem dados em recursos comuns.

Exemplo usando multiprocessing.Queue:

from multiprocessing import Process, Queue

def worker(q):
    q.put('Dados do processo filho')

if __name__ == '__main__':
    q = Queue()
    p = Process(target=worker, args=(q,))
    p.start()
    print(q.get())  # Obtém dados do processo filho
    p.join()

Assim, Queue permite transferir dados de forma segura entre processos.