Makarna yiyen düşünürler sorunu

Düşünürler makarna yemek için bir masada.

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

  1. ^ 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. 
  2. ^ 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.
Taslak simgesiMatematik ile ilgili bu madde taslak seviyesindedir. Madde içeriğini genişleterek Vikipedi'ye katkı sağlayabilirsiniz.
Taslak simgesiBilgisayar ile ilgili bu madde taslak seviyesindedir. Madde içeriğini genişleterek Vikipedi'ye katkı sağlayabilirsiniz.