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.[1][2]
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
Kaynaklar
- ↑ 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. http://books.google.com/books?id=pl4VJKQlcG4C.
- ↑ 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. http://web.archive.org/web/20160127183424/http://www.usingcsp.com/cspbook.pdf.
- 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
This article is issued from Vikipedi - version of the 3/5/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.