
Bu challenge'ta ki amac calisan bir kod yazmaktan ziyade en uygun nasil yapilabilir seklinde algoritma tasarlamak ve ayni zamanda bu meshur sorular ile ilgili bilgisi olmayan merakli arkadaslar icinde google da arastiracak bazi anahtar kelimeler saglamak.
Challeng 5 ' in temel konusu Challenge 4 ile benzer. Prosessler arasinda iletisim saglamak ve bu iletisim sirasinda proseslerin olumcul kilitlenme (dead lock) ve kaynak acligina (Starvation) yol acmasini engellemek.
Meshur ilk problemimiz Sleeping Barber (Uyuyan Berber) Problemi

Bir berber dükkanı n adet bekleme sandalyesi ve bir de berber koltuğundan oluşmaktadır.
-Eğer traş edilecek müşteri yoksa berber uyumaktadır.
-Eğer bir müşteri geldiğinde bütün bekleme sandalyeleri dolu ise müşteri dükkanı terk eder.
-Eğer müşteri geldiğinde berber başka bir müşteriyi traş ediyorsa, buna karşılık boş bekleme sandalyesi varsa müşteri kuyruğa girip sandalyeye oturur.
-Berber uyuduğu zaman müşteri berberi uyandırmaktadır.
Bu problemi delphi ile cozmek isteseydiniz nasil bir yapi kullanirdiniz ?

Olasi problemler
musteri dukkana girer berberin sac kesmekte oldugunu gorur ve bekleme salonuna dogru hareket eder
tam bu esnada berber elindeki isi bitirip sirada bekleyen bir musteri var mi diye bekleme odasina goz atar ve bekleyen herhangi bir musterinin olmadigini gorur
bekleyen musteri olmadigi icin berber uyumaya gider
bekleme salonuna gecen musteri berberin uyumaya gittiginden habersiz berberin isinin bitmesini bekler
musteri bekleyen berber ve berber bekleyen musteri. deadlock'a dustuk hayirli olsun

benzer problemlerle ilgili merakli arkadaslar icin
Filozofların Akşam Yemeği Problemi
Tek Şeritli Köprü Problemi