Cum se poate realiza interacțiunea între mai multe procese în Python?
sobes.tech AI
Răspuns de la AI
În Python, interacțiunea între mai multe procese poate fi organizată în mai multe moduri:
-
Modulul
multiprocessing— oferă instrumente pentru crearea proceselor și schimbul de date între ele. În special, există obiecteQueue,Pipepentru transmiterea mesajelor, precum șiManagerpentru crearea obiectelor comune. -
Schimbul prin fișiere sau baze de date — procesele pot citi și scrie date în fișiere comune sau pot folosi o bază de date pentru sincronizare și schimb.
-
Sokete — procesele pot comunica prin socket-uri de rețea, ceea ce este convenabil pentru sistemele distribuite.
-
Mecanisme IPC ale sistemului (interproces) — de exemplu, semafoare, memorie partajată, cozi de mesaje (prin modulele
posix_ipcsausysv_ipc).
Exemplu de utilizare a multiprocessing.Queue pentru schimbul de mesaje:
from multiprocessing import Process, Queue
def worker(q):
q.put('Salut din procesul copil')
if __name__ == '__main__':
q = Queue()
p = Process(target=worker, args=(q,))
p.start()
print(q.get()) # Primește un mesaj de la procesul copil
p.join()