Skip to main content

Hva er en løpsbetingelse?

Raseforhold har å gjøre med forsøk fra et system eller individuell enhet for å delta i multitasking.Generelt eksisterer det en løpsbetingelse når systemet prøver å behandle to eller flere forskjellige operasjoner samtidig, men ikke er i stand til det.Årsaken til feilen er at operasjonene ikke er stilt opp i riktig sekvens, en omstendighet kan føre til at systemet stenger.

Mens mange forskjellige enheter er konfigurert for å tillate multitasking, er det fortsatt en intern prosess som skaper et hierarki av funksjoner.For at visse funksjoner skal finne sted, må andre funksjoner skje på forhånd.Mens sluttbrukeren oppfatter at alle funksjonene kan se ut til å finne sted samtidig, er dette ikke nødvendigvis tilfelle.

En løpsbetingelse opprettes når to eller flere operasjoner kjemper med hverandre for å oppnå fullføring foran de andre operasjonene.Når alle de individuelle funksjonene er ordentlig ordnet, fører dette til vellykket utførelse av alle funksjonene på en riktig måte.Imidlertid, hvis operasjonssekvensen kastes ut av balanse, skaper dette en flaskehals.I det verre tilfellet vil løpstilstanden gjøre det umulig for systemet å fortsette i sitt forsøk på å behandle alle funksjonene i den rekkefølgen som er engasjert for øyeblikket.Fordi systemet kan trenge å behandle den femte funksjonen i strengen før den første og andre funksjonen kan fullføres, må hele strengen aborteres og reetableres i riktig rekkefølge.

Et vanlig eksempel på en løpsbetingelse har å gjøre med behandlingen av data.Hvis et system mottar kommandoer for å lese eksisterende data mens du skriver nye data, kan dette føre til en konflikt som får systemet til å slå seg av på noen måte.Systemet kan vise en slags feilmelding hvis datamengden som blir behandlet plassert en unødig belastning på tilgjengelige ressurser, eller systemet ganske enkelt kan slå seg av.Når dette skjer, er det vanligvis en god idé å starte systemet på nytt og begynne sekvensen igjen.Hvis datamengden som behandles er betydelig, kan det være bedre å la assimilering av de nye dataene fullføres før du prøver å lese noen av de for øyeblikket lagrede dataene.

Mange systemer unngår potensialet for en løpstilstand ved å sette prioriteringer i de operative protokollene.Prioriteringene er etablert for å fungere godt innenfor systemets evner og dermed begrense muligheten til en løpsbetingelse til å utvikle seg.