Deadlock: Porovnání verzí

Smazaný obsah Přidaný obsah
→‎Související články: +Transakční paměť
Doplneni zvlastnich znaku
Řádek 1:
[[Soubor:Process deadlock.svg|thumb|right|Cyklické čekání: Proces P1 vyžaduje prostředek R1, který je přidělen procesu P2; proces P2 vyžaduje prostředek R2, který je přidělen procesu P1]]
'''Deadlock''' ([[česky]] také '''uváznutí''', '''vzájemné čekání''') je odborný výraz pro situaci, kdy úspěšné dokončení první akce je podmíněno předchozím dokončením druhé akce, přičemž druhá akce může být dokončena až po dokončení první akce. Vzniká [[paradox]], často označovaný jako ‚Co bylo dříve? Slepice nebo vejce?‘. V reálném životě se uváznutí řeší např. couváním (v dopravě).
 
V počítači se jedná o zablokování [[Počítačový program|procesů]] (případně [[Vlákno (program)|vláken]]) způsobené křížovým čekáním na [[synchronizační primitivum|synchronizačních primitivech]]. K uváznutí dochází v důsledku [[programátorská chyba|chyby]] programu nebo není uváznutí v programu úmyslně řešeno, protože řešení by bylo příliš náročné. Pokud v takovém případě dojde k uváznutí, je nutný zásah uživatele, který může násilně ukončit jeden z procesů nebo v případě práce s [[Databáze|databází]] může jednu [[Databázová transakce|transakci]] zrušit (příkazem [[rollback]]).