Co je oběť mrtvého muže?
Oběť zablokování je uživatel počítače, který funguje jako klient připojený k serveru, jehož připojení se hostitel serveru rozhodl ukončit, aby vyřešil zablokování. Tento typ zablokování často vzniká, když se dva různé procesy pokoušejí použít stejné prostředky, což způsobí, že se oba procesy zablokují. Chcete-li tento problém vyřešit, mnoho systémů databázových serverů může detekovat, když dojde k zablokování, a pak se rozhodnout ukončit připojení jednoho ze dvou procesů. Oběť uváznutí na mrtvém bodě může program zvolit libovolně, ačkoli uživatel je obvykle vybrán jako ten, kdo se nejsnadněji připojí k systému.
Termín „oběť uváznutí na mrtvém bodě“ se obvykle používá ve zprávě o chybě nebo výjimce, kterou systém zobrazí uživateli, když je jeho připojení ukončeno. K této chybě dochází v situaci běžně označované jako zablokování. Obecně k zablokování dochází, když se dva uživatelé připojeni k serveru pokoušejí získat přístup ke stejným prostředkům způsobem, který vytvoří zámek v systému. Například pokud uživatel A používá zdroj 1 a potřebuje také použít zdroj 2, zatímco uživatel B používá zdroj 2 a musí také používat zdroj 1, dojde k zablokování, protože žádný uživatel nemůže dokončit svůj proces.
V tomto příkladu by systém vybral jednoho ze dvou uživatelů jako oběť zablokování a jeho připojení k serveru by bylo ukončeno. Jakmile k tomu dojde, může druhý uživatel dokončit svůj proces, ukončit zablokování a oběť zablokování se může znovu připojit k serveru. Většina programů databázových serverů je navržena s detekcí zablokování, které obvykle detekuje zablokování po určité době. Přestože zablokování nemusí být nutně velkým problémem, může to být pro uživatele obtížné, zejména ty, které byly vybrány jako oběť zablokování, a naznačuje jednu nebo více chyb v programování databáze serveru.
Způsob, jakým si server vybere oběť zablokování, se může lišit. Některé programy vybírají oběť čistě náhodně. I když to může být docela efektivní, protože jakákoli volba vede k řešení a na konci slepé uličky, není to vždy ideální metoda. Server je obvykle naprogramován tak, aby vyhodnotil dva uživatele, kteří si vybrali toho, kdo se nejsnadněji znovu připojí nebo kdo ztratí nejmenší množství dat v důsledku odpojení.