Hoppa till innehållet

Race condition

Ett felaktigt resultat som beror på tidsordningen mellan överlappande åtkomster.

Även känt somKapplöpningsvillkor
Mjukvaruarkitektur

Vad är en race condition?

En race condition uppstår när ett resultat på ett oönskat sätt beror på tidsordningen i samtidiga flöden. Flera operationer når ofta delat tillstånd utan lämplig samordning. De behöver inte köras samtidigt på flera processorkärnor. Även sammanflätade åtkomster kan skapa en olämplig ordning.

I en påhittad portal kontrollerar två reservationsförfrågningar samma sista tillgängliga vara. Båda ser först tillgänglighet och kan utan lämpligt skydd meddela framgång. Kontroll och reservation måste därför skyddas tillsammans så att bara en förfrågan kan reservera den sista varan; först resultatet bestämmer återkopplingen. Att bara öppna en databastransaktion visar inte att konflikten förhindras. Teamet kontrollerar riktat överlappande flöden och använt skydd.

Källor