Gå til indholdet

Race condition

Et forkert resultat afhænger af tidsrækkefølgen i overlappende adgange.

Softwarearkitektur

Hvad er en race condition?

En race condition opstår, når et resultat afhænger forkert af tidsrækkefølgen i samtidige forløb. Flere operationer tilgår ofte fælles tilstand uden passende koordinering. De behøver ikke køre samtidig på flere processorkerner. Også indflettede adgange kan skabe en uegnet rækkefølge.

I en opdigtet portal kontrollerer to reservationsanmodninger samme sidste tilgængelige vare. Begge ser først tilgængelighed og kan uden passende beskyttelse melde succes. Kontrol og reservation skal derfor beskyttes samlet, så kun én anmodning kan reservere den sidste vare; først resultatet bestemmer tilbagemeldingen. Blot at åbne en databasetransaktion beviser ikke, at konflikten forhindres. Teamet kontrollerer målrettet overlappende forløb og den anvendte beskyttelse.

Kilder