Concurrency
Meerdere taken zo organiseren dat hun verwerkingsperioden kunnen overlappen.
Wat is concurrency?
Concurrency organiseert taken met overlappende verwerking. Ze kunnen om beurten op één processor vooruitgaan, bijvoorbeeld wanneer een taak op gegevens wacht. Werkelijk gelijktijdig uitvoeren is niet vereist; dat heet parallellisme. Gelijktijdig lopende processen vragen bewuste omgang met volgorde, resultaten en gedeelde toestand.
In een fictief portaal lopen meerdere documentopvragingen terwijl andere aanvragen worden verwerkt. De volgorde van antwoorden hoeft niet overeen te komen met die van de aanvragen. Het team koppelt elk resultaat aan de juiste aanvraag en voorkomt dat een oud antwoord ongemerkt nieuwere toestand vervangt. Concurrency kan middelen tijdens wachten benutten, maar garandeert geen hogere doorvoer of foutloze gegevens. Passende coördinatie en gecontroleerde fouttoestanden blijven nodig.
Bronnen
Verwante begrippen
- Asynchroon programmerenOp resultaat wachten zonder daardoor de hele beoogde workflow te blokkeren.
- ParallellismeMeerdere berekeningen daadwerkelijk op hetzelfde moment uitvoeren.
- Race conditionEen fout resultaat hangt af van de tijdsvolgorde van overlappende toegang.
- Cache stampedeEen cache stampede ontstaat wanneer gelijktijdige cachemissers dezelfde dure berekening of gegevensopvraag herhaaldelijk starten.
- BackpressureBackpressure stemt de instroom van gegevens af op de verwerkingscapaciteit van de ontvanger via signalen om te vertragen of te pauzeren.
- GeheugenlekNiet meer nodig geheugen blijft tijdens gebruik onnodig vastgehouden.
Uw project met ASES
Beschrijf ons uw project. We nemen contact met u op met een eerste inschatting.