Sobes.tech
Junior — Middle

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:

  1. Module multiprocessing — biedt middelen voor het maken van processen en het uitwisselen van gegevens tussen hen. Er zijn onder andere Queue, Pipe objecten voor berichtoverdracht, en Manager voor het maken van gedeelde objecten.

  2. Uitwisseling via bestanden of databases — processen kunnen gegevens lezen en schrijven in gedeelde bestanden of een database gebruiken voor synchronisatie en uitwisseling.

  3. Sockets — processen kunnen communiceren via netwerk-sockets, wat handig is voor gedistribueerde systemen.

  4. Systeem IPC-mechanismen — zoals semaforen, gedeeld geheugen, berichtwachtrijen (via modules posix_ipc of sysv_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()