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:
multiprocessingmodul:Queue,Pipeobjektumokat 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.