Kappløpstilstand
Et feil resultat avhenger av tidsrekkefølgen i overlappende tilganger.
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
Beslektede begreper
- Asynkron programmeringÅ vente på et resultat uten å blokkere resten av den planlagte flyten.
- ParallellitetÅ kjøre flere beregninger faktisk samtidig.
- SamtidighetÅ organisere flere oppgaver slik at behandlingen av dem kan overlappe i tid.
- DatabaselåsEn databaselås koordinerer samtidig tilgang til data eller objekter slik at uforenlige operasjoner ikke skjer ukontrollert.
- Optimistisk låsingOptimistisk låsing oppdager ved lagring om en post er endret siden tilstanden som ble lest.
- Cache stampedeEt cache stampede kan oppstå når samtidige forespørsler ikke finner de samme dataene i cachen og starter samme kostbare arbeid.
Ditt prosjekt med ASES
Beskriv prosjektet ditt for oss. Vi tar kontakt med en første vurdering.