Makarna yiyen düşünürler sorunu

Bilgisayar mühendisliğinde, makarna yiyen düşünürler sorunu paralellik, eşzamanlılık ve proseslerle ilgili klasik bir sorundur. 1965 yılında, Edsger Dijkstra tarafından önerilmiştir.

Sorun 
5 kişilik bir masa var ve 5 düşünür var. Bu düşünürler sadece yemek yer ve düşünürler. Ancak bir düşünür makarnayı tek çatalla yemek zor olduğundan ancak 2 çatalla yiyebilir. Bir düşünürün önünde bir tabak makarna ve tabaklar arasında çatallar vardır. Düşünürler açlıktan ölmeden makarna yiyebilirler mi, yerlerse nasıl?

Ayrıca bakınız
 Uyuyan berber sorunu

Kaynakça 

Chandy, K.M.; Misra, J. (1984). The Drinking Philosophers Problem. ACM Transactions on Programming Languages and Systems.
Dijkstra, E. W. (1971, June). Hierarchical ordering of sequential processes. Acta Informatica 1(2): 115–138.
Lehmann, D. J., Rabin M. O, (1981). On the Advantages of Free Choice: A Symmetric and Fully Distributed Solution to the Dining Philosophers Problem. Principles Of Programming Languages 1981 (POPL'81), pp. 133–138.

Dış bağlantılar 
Discussion of the problem with solution code for 2 or 4 philosophers
Discussion of various solutions 1
Discussion of a solution using continuation based threads (cbthreads) 
Distributed symmetric solutions
Programming the Dining Philosophers with Simulation
Interactive example of the Philosophers problem (Java required)
Satan Comes to Dinner
Wot No Chickens? - Peter H. Welch proposed the Starving Philosophers variant that demonstrates an unfortunate consequence of the behaviour of Java thread monitors is to make thread starvation more likely than strictly necessary.
ThreadMentor
Solving The Dining Philosophers Problem With Asynchronous Agents

Bilgisayar mühendisliği
İşletim sistemleri