Makarna Yiyen Düşünürler Sorunu Algoritması

Makarna Yiyen Düşünürler Sorunu Algoritması 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.

Makarna Yiyen Düşünürler Sorunu Algoritması

Makarna Yiyen Düşünürler Algoritması Sorun

Düşünürler makarna yemek için bir masada.
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?

^ J. Díaz; I. Ramos (1981). Formalization of Programming Concepts: International Colloquium, Peniscola, Spain, April 19–25, 1981. Proceedings. Birkhäuser. s. 323, 326. ISBN 9783540106999.
^ Hoare, C. A. R. (2004). “Communicating Sequential Processes”. usingcsp.com (originally published in 1985 by Prentice Hall International). 27 Ocak 2016 tarihinde kaynağından arşivlendi.
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.

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

Kaynak https://tr.wikipedia.org/wiki/Makarna_yiyen_düşünürler_sorunu

Ayrıca Uyuyan Berber Algoritmasına Bakabilirsiniz.