Hoe kan de interactie tussen meerdere processen in Python worden uitgevoerd?
sobes.tech AI
Antwoord van AI
In Python kan de interactie tussen meerdere processen op verschillende manieren worden georganiseerd:
-
Module
multiprocessing— biedt middelen voor het maken van processen en het uitwisselen van gegevens tussen hen. Er zijn onder andereQueue,Pipeobjecten voor berichtoverdracht, enManagervoor het maken van gedeelde objecten. -
Uitwisseling via bestanden of databases — processen kunnen gegevens lezen en schrijven in gedeelde bestanden of een database gebruiken voor synchronisatie en uitwisseling.
-
Sockets — processen kunnen communiceren via netwerk-sockets, wat handig is voor gedistribueerde systemen.
-
Systeem IPC-mechanismen — zoals semaforen, gedeeld geheugen, berichtwachtrijen (via modules
posix_ipcofsysv_ipc).
Voorbeeld van het gebruik van multiprocessing.Queue voor berichtuitwisseling:
from multiprocessing import Process, Queue
def worker(q):
q.put('Hallo vanuit het kindproces')
if __name__ == '__main__':
q = Queue()
p = Process(target=worker, args=(q,))
p.start()
print(q.get()) # Ontvangt een bericht van het kindproces
p.join()