Gå til innholdet

Kappløpstilstand

Et feil resultat avhenger av tidsrekkefølgen i overlappende tilganger.

Også kjent somRace condition
Programvarearkitektur

Hva er en kappløpstilstand?

En kappløpstilstand oppstår når et resultat avhenger uhensiktsmessig av tidsrekkefølgen i samtidige flyter. Flere operasjoner bruker ofte delt tilstand uten egnet koordinering. De trenger ikke kjøre samtidig på flere prosessorkjerner. Også sammenflettede tilganger kan skape en uegnet rekkefølge.

I en oppdiktet portal kontrollerer to reservasjonsforespørsler samme siste tilgjengelige vare. Begge ser først tilgjengelighet og kan uten egnet vern melde suksess. Kontroll og reservasjon må derfor beskyttes samlet, slik at bare én forespørsel kan reservere den siste varen; først resultatet bestemmer tilbakemeldingen. Bare å åpne en databasetransaksjon beviser ikke at konflikten hindres. Teamet kontrollerer målrettet overlappende flyter og vernet som brukes.

Kilder