Junior — Middle
Čo sa deje s tokom vykonávania, ak dôjde k vzájomnému zablokovaniu zdrojov?
sobes.tech AI
Odpoveď od AI
Ak v Jave dôjde k deadlocku, vlákna, ktoré sa na ňom podieľajú, navždy čakajú na uvoľnenie zdrojov od iných a nemôžu pokračovať v vykonávaní. To spôsobí, že tieto vlákna 'zamrznú' a nedokončia sa, čo môže viesť k zablokovaniu celej aplikácie alebo jej časti.
Deadlock nastáva, keď dve alebo viac vlákien získava zdroje v odlišnom poradí a každé z nich čaká na uvoľnenie zdroja, ktorý drží iné vlákno.
Príklad: vlákno A získalo zdroj 1 a čaká na zdroj 2, zatiaľ čo vlákno B získalo zdroj 2 a čaká na zdroj 1 — obe sú navždy zablokované.