Hlavní rozdíl mezi zablokováním a hladem je vztah mezi nimi a příčinou; je to mrtvý bod, který způsobuje hladovění. Dalším zajímavým rozdílem mezi mrtvým bodem a hladem je to, že mrtvý bod je problém, zatímco hladovění může někdy pomoci dostat se z mrtvého úhlu. Ve světě počítačů bude při psaní počítačového programu existovat více než jeden proces / vlákno, které se bude současně spouštět jeden po druhém, aby se splnila požadovaná služba programu. Proto, aby byl spravedlivý systém, měl by programátor zajistit, aby všechny procesy / vlákna získaly nebo získaly dostatečný přístup ke zdrojům, které potřebují. Pokud ne, dojde k zablokování a později to bude mít hlad. Spravedlivý systém spravedlivě neobsahuje žádné uváznutí nebo hladovění. K zablokování a hladovění dojde zejména tehdy, když mnoho vláken soutěží o omezené zdroje.
Patová situace je stav, ke kterému dochází, když dva vlákna nebo procesy čekají na dokončení úlohy. Budou jen zavěsit, ale nikdy nezastaví nebo nedokončí svůj úkol. Ve vědě o počítačích mohou být slepá ulička viděna všude. V databázi transakcí, kdy dva procesy v rámci své vlastní transakce aktualizují stejné dva řádky informací, ale v opačném pořadí, způsobí zablokování. Při souběžném programování může dojít k zablokování, když dvě vzájemně si konkurující akce budou čekat, až se navzájem pokročí. V telekomunikačních systémech může dojít k zablokování v důsledku ztráty nebo poškození signálů.
V současné době je patová situace jedním z hlavních problémů v systémech s více procesory a paralelním výpočtu. Jako řešení se nazýval uzamykací systém synchronizace procesů je implementován pro software i hardware.
Ze slovníku lékařské vědy je hladování výsledkem vážného nebo úplného nedostatku živin, které jsou potřebné pro udržení života. Podobně v oblasti informatiky je hladovění došlo k problému když více vláken nebo procesů čeká na stejný zdroj, který se nazývá zablokování.
Aby se dostal z mrtvého bodu, jeden z procesů nebo podprocesů by se měl vzdát nebo vrátit zpět, aby druhý podproces nebo proces mohl použít prostředek. Pokud k tomu dochází nepřetržitě a stejný proces nebo vlákno se musí vzdát nebo vrátit zpět pokaždé, když nechají ostatní procesy nebo vlákna používat prostředek, pak vybraný proces nebo vlákno, které se vrátilo, podstoupí situaci zvanou hladovění. Proto, Abychom se dostali ze slepé uličky, je hladovění jedním z řešení. Proto se někdy říká hladovění jakýsi livelock. Pokud existuje mnoho procesů nebo podprocesů s vysokou prioritou, proces nebo podproces s nižší prioritou bude vždy hladovět v mrtvém bodě.
Může existovat mnoho hladovění, jako je hladovějící na zdroje a hladovějící na CPU. Existuje mnoho běžných příkladů hladovění. Jsou to problém čtenářů a spisovatelů a problém filozofů stolování, který je slavnější. U kulatého stolu sedí pět tichých filozofů s miskami špaget. Vidlice jsou umístěny mezi každou dvojicí sousedních filozofů. Každý filozof musí střídavě myslet a jíst. Filozof však může jíst špagety, pouze pokud má levou i pravou vidličku.
„Jídelní filosofové“
• Ve slepé uličce budou obě vlákna nebo procesy čekat na sebe a obě nepostupují vpřed.
• V případě hladovění, když dvě nebo více vláken nebo procesů čekají na stejný zdroj, jeden se vrátí zpět a nechá ostatní použít prostředek první a další hladovějící vlákno nebo proces se zkusí znovu. Proto všechna vlákna nebo procesy budou stejně pokračovat vpřed.
• Ve slepé uličce budou vlákna a procesy s vysokou prioritou i vlákna / procesy s nízkou prioritou čekat na sebe nekonečně. Nikdy to nekončí.
• Ale v hladovění budou ty s nízkou prioritou čekat nebo se vrátit zpět, ale ty s vysokou prioritou budou pokračovat.
• Zablokování je kruhové čekání.
• Hladování je druh živého zámku a někdy pomáhá vystoupit z mrtvého úhlu.
• Deadlock způsobí hladovění, ale hladovění nezpůsobí deadlock.
• K zablokování dojde v důsledku vzájemného vyloučení, čekání a čekání, žádné předběžné nebo kruhové čekání.
• Hladovění nastává kvůli nedostatku zdrojů, nekontrolovanému řízení zdrojů a procesním prioritám.
Souhrn:
Deadlock a hladovění jsou některé z problémů, ke kterým dochází v důsledku datových závodů a závodních podmínek, které se vyskytují během programování a implementace hardwaru. Ve slepé uličce budou dvě vlákna nekonečně čekat na sebe bez provedení, zatímco ve hladovění se jedno vlákno vrátí zpět a nechá druhé vlákno použít prostředky. Zablokování způsobí hladovění, zatímco hladovění pomůže podprocesu dostat se z mrtvého bodu.
Obrázky se svolením: