Junior — Middle
Co se děje s tokem provádění, pokud dojde k vzájemnému zablokování zdrojů?
sobes.tech AI
Odpověď od AI
Pokud v Javě dojde k deadlocku, vlákna, která se na něm podílejí, čekají navždy na uvolnění zdrojů navzájem a nemohou pokračovat v provádění. To způsobí, že tato vlákna 'zamrznou' a nedokončí se, což může vést k zablokování celého programu nebo jeho části.
Deadlock nastává, když dvě nebo více vláken získávají zdroje v odlišném pořadí a každé z nich čeká na uvolnění zdroje, který drží jiné vlákno.
Příklad: vlákno A získalo zdroj 1 a čeká na zdroj 2, zatímco vlákno B získalo zdroj 2 a čeká na zdroj 1 — obě jsou navždy zablokována.