Это задача об обедающих филос

Автор admin Среда, 1 июля 2009 11:32

Это задача об обедающих философах. В базовом варианте задачи речь шла о пяти философах, но в нашем случае философов может быть сколько угодно. Философы тратят время на размышления и на еду. Когда философ думает, он не нуждается ни в каких общих ресурсах, хотя количество столовых принадлежностей ограниченно. В исходной постановке задачи такими принадлежностями были вилки. У Дейкстры философы ели спагетти из блюда в середине стола двумя вилками, но логика подсказывает, что вилки лучше заменить палочками для еды. Разумеется, для еды нужны две палочки. В задаче кроется одна сложность: из-за своей бедности у философов хватает денег только на пять палочек. Палочки разложены на столе между философами. Когда философ хочет есть, он берет палочки, лежащие слева и справа от него. Если какая-либо из палочек уже используется кем-то другим, нашему философу придется подождать, пока она освободится. //: СИ:DiningPhilosophers.h // Классы для задачи об обедающих философах. #ifndef DININGPHIL0S0PHERS_H #define DININGPHIL0S0PHERS_H #include #include #incl ude #include “zthread/Condition.h” #i


Комментарии закрыты.