"Унтамхай үсчний бодлого"-ны өөр хувилбарууд

no edit summary
 
Энэ процесс дээр үсчин нь бүх үйлчлүүлэгч дуустал үс засаад л байдаг , үйлчлүүлэгчид дуусвал дахин үйлчлүүлэгч иртэл унтаад л байдаг гэх мэт хэтэрхий хийсвэр дүрслэгдэж байгаа ч гэсэн ингэснээр энэ процесс алдаагүй дэс дарааллаараа ажиллах баталгаатай болж байгаа юм. Амьдрал яг ийм процесс үүсгэнэ гэвэл маш их асуудалтай боломжгүй мэт боловч энэ процессийн бүх циклийг бодит амьдрал дээрээс ажиглан компьютерийн ухаанд тохируулан зохиосон гэдэг нь тодорхой харагдана.Компьютерийн ухаанд ийм төрлийн процесс үүсгэн шийдвэрлэх асуудал их гардаг билээ.<br />
<gallery>
 
Файл:Sleepingbarber.png
</gallery>
Компьютерийн ухааныг хөгжүүлсэн анхдагчдын нэг Эдгер Диекстра (англиар:Edsger Dijkstra) 1965 онд "Унтамхай үсчний бодлого"-ыг анх дэвшүүлсэн гэж тооцогддог. <br />
Энэ бодлогыг шийдэх олон боломжит арга байдаг. <br />
Бодлогыг шийдсэн нь:<br />
Доорх псевдокодоор үсчин үйлчлүүлэгч хоёрын үйл ажиллагааг зэрэг явуулах мөн түгжрэлд орохоос сэргийлэх боломжтой, гэвч зөвхөн түрүүлж ирсэн хэдэн үйлчлүүлэгчийн үсийг ээлжлэн зассаар хойно ирсэн зарим үйлчлүүлэгч хэзээч үйлчлүүлэх боломжгүй болгох буюу нөөцийн дутагдалд орох (англиар:starvation) тал бий. Доорх псевдокодын wait(), signal() гэсэн функцүүд нь семафор бүхий функц юм. "C" хэл дээр wait() функцийг P(), signal() функцийг V() гэж тэмдэглэнэ.
<gallery>
Файл:Sleeping barber pseudo.png
</gallery>