Linux下哲学家问题的实现

dsadada3126 29 0 C 2019-06-01 08:06:25

算法的思想是,每个哲学家想要进餐时,先拿左手边的筷子,如果筷子可用就拿起来,不可用就等待,再拿右手边的筷子,如果筷子可用,就拿起筷子,不可用就等待,只有当两个筷子都可用时,哲学家才能进餐。为了实现这个算法,需要互斥锁和五个条件变量。pthread_mutex_tmutex;pthread_cond_tchopstick[5];另外创建数组sticks[5]表示这五个筷子收否可用,当sticks[i]等于1时,表示筷子i可用,等于0表示这个筷子不可用。

用户评论
请输入评论内容
评分:
Generic placeholder image 卡了网匿名网友 2019-06-01 08:06:25

挺好的,不过我的运行有错误。