Skip to main content

Hva er et dødvakt?

Et deadlock -offer er en datamaskinbruker, og fungerer som en klient som er koblet til en server, hvis tilkobling serververten har valgt å avslutte for å løse en dødvakt.Denne typen deadlock oppstår ofte når to forskjellige prosesser prøver å bruke de samme ressursene, noe som får begge prosessene til å låse seg.For å løse dette problemet, kan mange serverdatabasesystemer oppdage når en dødvakt oppstår og deretter velge å avslutte tilkoblingen til en av de to prosessene.Et dødvaktsoffer kan velges vilkårlig av programmet, selv om brukeren vanligvis velges som det som lettest kan koble seg til systemet.

Begrepet “dødvakt” brukes vanligvis i feilen eller unntaksmeldingen som vises av systemettil brukeren når hans eller hennes forbindelse avsluttes.Denne feilen oppstår i en situasjon som ofte refereres til som en dødvakt.Generelt oppstår en dødvakt når to brukere koblet til en server prøver å få tilgang til de samme ressursene på en måte som skaper en lås på systemet.For eksempel, hvis bruker A bruker ressurs 1 og også må bruke ressurs 2, mens bruker B bruker ressurs 2 og trenger å bruke ressurs 1 også, oppstår en dødvakt siden ingen av brukerne kan fullføre prosessen sin.

Dette eksemplet, en av de to brukerne vil bli valgt av systemet som dødvaktofferet og hans eller hennes forbindelse til serveren vil bli avsluttet.Når dette skjer, kan den andre brukeren fullføre prosessen sin, og avslutte deadlock og dødvaktofferet kan koble seg til serveren på nytt.De fleste serverdatabaseprogrammer er designet med DEADLOCK -deteksjon, som vanligvis oppdager en dødvakt etter en viss tid.Selv om en dødvakt ikke nødvendigvis er et stort problem, kan det være en plage for brukere, spesielt de som er valgt som dødvaktoffer, og indikerer en eller flere feil i serverdatabaseprogrammering.

Måten en server velger et deadlock -offerkan variere.Noen programmer velger offeret på rent tilfeldig basis.Selv om dette kan være ganske effektivt, siden ethvert valg fører til en løsning og slutten av deadlock, er dette ikke alltid en ideell metode.En server er vanligvis programmert for å evaluere de to brukerne til å velge den som lettest kan koble seg til igjen eller som vil miste minst mulig data på grunn av frakobling.