Makarna yiyen düşünürler sorunu
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/7b/An_illustration_of_the_dining_philosophers_problem.png/200px-An_illustration_of_the_dining_philosophers_problem.png)
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
- Uyuyan berber sorunu
Kaynakça
- ^ J. Díaz; I. Ramos (1981). Formalization of Programming Concepts: International Colloquium, Peniscola, Spain, April 19–25, 1981. Proceedings. Birkhäuser. ss. 323, 326. ISBN 9783540106999. 19 Aralık 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Haziran 2011.
- ^ Hoare, C. A. R. (2004). "Communicating Sequential Processes" (PDF). usingcsp.com (originally published in 1985 by Prentice Hall International). 27 Ocak 2016 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 1 Haziran 2011.
|yayımcı=
dış bağlantı (yardım)
- Chandy, K.M.; Misra, J. (1984). The Drinking Philosophers Problem8 Haziran 2011 tarihinde Wayback Machine sitesinde arşivlendi.. ACM Transactions on Programming Languages and Systems.
- Dijkstra, E. W. (1971, June). Hierarchical ordering of sequential processes10 Ekim 2012 tarihinde Wayback Machine sitesinde arşivlendi.. 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 philosophers20 Temmuz 2011 tarihinde Wayback Machine sitesinde arşivlendi.
- Discussion of various solutions 1
- Discussion of a solution using continuation based threads (cbthreads)
- Distributed symmetric solutions[ölü/kırık bağlantı]
- Programming the Dining Philosophers with Simulation
- Interactive example7 Haziran 2011 tarihinde Wayback Machine sitesinde arşivlendi. of the Philosophers problem (Java required)
- Satan Comes to Dinner16 Temmuz 2011 tarihinde Wayback Machine sitesinde arşivlendi.
- Wot No Chickens?7 Haziran 2011 tarihinde Wayback Machine sitesinde arşivlendi. - 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.
- ThreadMentor8 Haziran 2011 tarihinde Wayback Machine sitesinde arşivlendi.
- Solving The Dining Philosophers Problem With Asynchronous Agents25 Mayıs 2011 tarihinde Wayback Machine sitesinde arşivlendi.
![]() | Matematik ile ilgili bu madde taslak seviyesindedir. Madde içeriğini genişleterek Vikipedi'ye katkı sağlayabilirsiniz. |
![]() | Bilgisayar ile ilgili bu madde taslak seviyesindedir. Madde içeriğini genişleterek Vikipedi'ye katkı sağlayabilirsiniz. |