Sobes.tech
Junior — Middle

Kako se vrši prenos podataka između pojedinačnih procesa u sistemu?

sobes.tech АИ

Одговор од АИ

U Pythonu se za prenos podataka između odvojenih procesa koristi međuprocesna komunikacija (IPC). Glavni načini su:

  • Modul multiprocessing: pruža objekte Queue, Pipe za razmenu podataka između procesa.
  • Soketi: procesi mogu razmenjivati podatke putem mrežnih soketa, čak i na istoj mašini.
  • Zajednički fajlovi ili baze podataka: procesi čitaju i pišu podatke iz zajedničkih resursa.

Primer sa multiprocessing.Queue:

from multiprocessing import Process, Queue

def worker(q):
    q.put('Podaci iz detetovog procesa')

if __name__ == '__main__':
    q = Queue()
    p = Process(target=worker, args=(q,))
    p.start()
    print(q.get())  # Dobija podatke iz detetovog procesa
    p.join()

Na ovaj način, Queue omogućava siguran prenos podataka između procesa.