Inhoudsopgave:
Definitie - Wat betekent Concurrency?
Concurrency is in de context van informatica de mogelijkheid om een programma op te splitsen in onderdelen die onafhankelijk van elkaar kunnen worden uitgevoerd. Dit betekent dat taken buiten de volgorde kunnen worden uitgevoerd en het resultaat nog steeds hetzelfde zou zijn als wanneer ze in volgorde worden uitgevoerd.
Techopedia legt gelijktijdigheid uit
Gelijktijdigheid is het vermogen van een algoritme of programma om meerdere taken tegelijk uit te voeren. Het concept is vergelijkbaar met parallelle verwerking, maar met de mogelijkheid dat veel onafhankelijke taken verschillende dingen tegelijk doen in plaats van dezelfde taak uit te voeren.
Gelijktijdige programma's kunnen moeilijk te schrijven zijn, simpelweg omdat het beheren van onafhankelijke taken coördinatie van middelen vereist. Het beroemde probleem van Dining Philosophers is een klassiek gedachte-experiment dat de complexiteit van het delen van hulpbronnen en gelijktijdigheid illustreert.
Moderne multitasking-besturingssystemen gaan samen met hun vermogen om veel verschillende programma's tegelijk uit te voeren. Naarmate computerhardware goedkoper wordt, wordt het uitvoeren van complexe taken op clusters haalbaarder. Verschillende programmeertalen zijn ontworpen met concurrency in gedachten, waaronder Go.