Какво е безизходица
версия за печат
Застоя - фиксираща множество нишки или процеси, които очакват ресурси освобождаване, заемани от един на друг.
Разбира се, от задънената улица е едно от тези понятия, които е най-добре проучени на теория, а не на практика. И ако все още не знам какво е необходимо безизходица да се мисли, че никога не ще с него и не се сблъскват (въпреки че, разбира се, не на факта), и аз искрено ще искате да продължите, не сте го срещнали.
Deadlock (английски безизходица, че българинът може да се преведе като "мъртъв заключване", въпреки че има и вариант на термина "заключване".) - се случва, когато множество процеси или нишки, са взаимно свързани помежду си достъп до определена обща за всички тях ресурс , за неопределено време в очакване на освобождаването му. Тази ситуация е най-вероятно да се случи, когато се работи с бази данни, въпреки че не може да има в многонишковите приложения.
Най-простият ситуация, което води до deadlock'u, е следната: имаме два процеси (или нишки), както и две ресурси, достъп до която всеки от процесите, предназначени за улавяне. Първият процес включва един ресурс, а вторият - до края, и по този начин някои действия с тези ресурси, процеси започват да се очаква, когато освободен втората от необходимите средства за тях. Разбира се, може да се каже, че този проблем нямаше да съществува, ако първият процес освобождава ресурс, и след това изчакайте за освобождаването на друг ресурс. Въпреки това, за съжаление, това не е толкова просто, и това не винаги е възможно. Например, може да се окаже една ситуация, в която всеки процес се нуждае от изключителен достъп до всяка една от техните ресурси за завършването на операцията. Трябва да се отбележи, че процесите / нишките, които участват в задънена улица, може да не са двама, а много повече - тогава се говори за заключване на пръстен.
Застоя - особено неприятна ситуация поради причината, че е доста трудно да се играе, така да се каже, в лабораторията, това е, когато отстраняване на грешки на заявлението. В съответствие с това е трудно да се поправят тази грешка в програмата, която я води до задънена улица. Ето защо, методи за премахване на мъртвите зони са превантивни по характер и са били използвани във фазата на проектиране на софтуерен продукт. За да се предотврати застой, се опитват да елиминират едно от условията на неговия произход, което е, например, да се освободи някои ресурси, за да започнете да чака да се осигури достъп до друга, или в противен случай ще внесе нови мениджъри на ресурси, както и за гарантиране, че не е имало мъртвите зони, както и насилствено премахване тях. Много модерен база данни има мениджъри на ресурси.
Забелязана грешка? Изберете го с мишката и натиснете Ctrl + Enter!






Горещи теми
Останете на линия

Не пропускайте важни новини и статии от KV.by! Абонирайте се за нашия предизвестие.