Skip to main content

Hvad er et dødvandsoffer?

Et deadlock -offer er en computerbruger, der fungerer som en klient, der er tilsluttet en server, hvis forbindelse serverværten har valgt at afslutte for at løse en dødvande.Denne type deadlock opstår ofte, når to forskellige processer forsøger at bruge de samme ressourcer, hvilket får begge processer til at låse sig op.For at løse dette problem kan mange serverdatabasesystemer registrere, hvornår der opstår en dødvande og derefter vælge at afslutte forbindelsen mellem en af de to processer.Et dødvandsoffer kan vælges vilkårligt af programmet, skønt brugeren typisk vælges som den, der let kan forbindes til systemet.

Udtrykket "deadlock -offer" bruges typisk i fejl- eller undtagelsesmeddelelsen, der vises af systemet, der visestil brugeren, når hans eller hendes forbindelse afsluttes.Denne fejl opstår i en situation, der ofte benævnes en dødvande.Generelt opstår der en dødvande, når to brugere, der er tilsluttet en server, forsøger at få adgang til de samme ressourcer på en måde, der skaber en lås på systemet.For eksempel, hvis bruger A bruger ressource 1 og skal også bruge ressource 2, mens bruger B også bruger ressource 2 og også skal bruge ressource 1, opstår der en dødvande, da ingen af brugeren kan afslutte sin proces.

iDette eksempel, en af de to brugere, ville blive valgt af systemet, da dødvandsofferet og hans eller hendes forbindelse til serveren ville blive afsluttet.Når dette sker, kan den anden bruger afslutte sin proces og afslutte dødvandet, og deadlock -offeret kan oprette forbindelse igen til serveren.De fleste serverdatabaseprogrammer er designet med deadlock -detektion, som typisk registrerer en dødvande efter en bestemt tidsperiode.Selvom en dødvande ikke nødvendigvis er et stort problem, kan det være en gener for brugere, især dem, der er valgt som dødvandeoffer, og angiver en eller flere fejl i serverdatabaseprogrammering.

Den måde, hvorpå en server vælger et dødvandeofferofferkan variere.Nogle programmer vælger offeret på et rent tilfældigt grundlag.Selvom dette kan være temmelig effektivt, da ethvert valg fører til en løsning og afslutningen af deadlock, er dette ikke altid en ideel metode.En server er typisk programmeret til at evaluere de to brugere til at vælge den, der lett let kunne oprette forbindelse igen, eller som mister den mindste mængde data på grund af afbrydelse.