Race condition
Ett felaktigt resultat som beror på tidsordningen mellan överlappande åtkomster.
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
Relaterade begrepp
- Asynkron programmeringAtt vänta på ett resultat utan att blockera hela det planerade flödet.
- ParallellismAtt köra flera beräkningar verkligen samtidigt.
- SamtidighetAtt organisera flera uppgifter så att deras behandlingstider kan överlappa.
- DatabaslåsEtt databaslås samordnar samtidiga åtkomster till data eller objekt så att oförenliga operationer inte körs okontrollerat.
- Optimistisk låsningOptimistisk låsning upptäcker vid sparande om en post har ändrats sedan den lästes.
- Cache stampedeEn cache stampede uppstår när samtidiga cachemissar startar samma kostsamma beräkning eller datafråga flera gånger.
Ditt projekt med ASES
Beskriv ditt projekt för oss. Vi hör av oss med en första bedömning.