Naar de inhoud

Race condition

Een fout resultaat hangt af van de tijdsvolgorde van overlappende toegang.

Ook bekend alsRaceconditie
Softwarearchitectuur

Wat is een race condition?

Een race condition ontstaat als een resultaat ongeoorloofd afhangt van de tijdsvolgorde van gelijktijdig lopende processen. Vaak benaderen meerdere bewerkingen gedeelde toestand zonder passende afstemming. Ze hoeven niet tegelijk op meerdere processorkernen te draaien. Ook verweven toegangen kunnen een verkeerde volgorde opleveren.

In een fictief portaal controleren twee reserveringsaanvragen hetzelfde laatste beschikbare artikel. Beide zien aanvankelijk beschikbaarheid en kunnen zonder passende beveiliging succes melden. Controle en reservering moeten samen zo worden beschermd dat slechts één aanvraag het laatste artikel kan reserveren; pas de uitkomst bepaalt de melding. Alleen een databasetransactie openen bewijst niet dat dit conflict wordt voorkomen. Het team controleert doelgericht overlappende workflows en gebruikte bescherming.

Bronnen