Sobes.tech
Junior — Middle

Hogyan történik az adatok átvitele a rendszerben lévő különálló folyamatok között?

sobes.tech MI

Válasz az MI-től

Pythonban az adatok átviteléhez külön folyamatok között az IPC (Inter Process Communication) módszert használjuk. A fő módszerek:

  • multiprocessing modul: Queue, Pipe objektumokat biztosít a folyamatok közötti adatok cseréjéhez.
  • Socketek: a folyamatok hálózati socketeken keresztül is kommunikálhatnak, még ugyanazon a gépen is.
  • Közös fájlok vagy adatbázisok: a folyamatok közösen írnak és olvasnak adatokat.

Példa a multiprocessing.Queue használatával:

from multiprocessing import Process, Queue

def worker(q):
    q.put('Gyerekfolyamat adatai')

if __name__ == '__main__':
    q = Queue()
    p = Process(target=worker, args=(q,))
    p.start()
    print(q.get())  # Adatok lekérése a gyerekfolyamatból
    p.join()

Így a Queue biztonságosan lehetővé teszi az adatok átadását folyamatok között.