« zakleszczenie, pojęcie, C++ »
zakleszczenie - Sytuacja, w której wszystkie wątki czekają na zdjęcie blokady. (pojęcie)
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!
Opracował: pekfos

zakleszczenie

[pojęcie] Sytuacja, w której wszystkie wątki czekają na zdjęcie blokady.

Opis szczegółowy

Zakleszczenie (ang. deadlock) jest to sytuacja, w której co najmniej dwa wątki czeka ją na siebie nawzajem. Zakleszczenia mogą wystąpić tylko w aplikacjach wielowątkowych. Objawami zakleszczenia jest zawieszenie się aplikacji.

Dodatkowe informacje

Problem zakleszczenia jest czasem nazywany problemem ucztujących filozofów.

Przykład

Pięciu filozofów siedzi przy okrągłym stole. Każdy z nich wykonuje jedną z dwóch czynności: je albo rozmyśla. Przed każdym filozofem znajduje się miska ryżu, a między każdą sąsiadującą parą filozofów znajduje się pałeczka (więc każdy filozof ma jedną z lewej i jedną z prawej). Aby jeść ryż pałeczkami trzeba mieć dwie więc kiedy filozof zdecyduje, że będzie jeść, zabiera pałeczkę z lewej, a potem z prawej. Jeśli któraś z pałeczek będzie nieosiągalna (inny filozof nią je), to będzie na nią czekać.
Problem pojawia się, gdy wszyscy ucztujący postanowią jeść w tym samym czasie. Wtedy każdy zabiera pałeczkę z lewej i.. czeka na pałeczkę z prawej.

Linki zewnętrzne