
操作系统
翼浪飞星
这个作者很懒,什么都没留下…
展开
-
哲学家就餐问题——and型信号量机制
以哲学家进餐模型为依据,在Linux控制台环境下创建5个进程,用semget函数创建一个信号量集(5个信号量,初值为1),模拟哲学家的思考和进餐行为:每一位哲学家饥饿时,先拿起左手筷子,再拿起右手筷子;筷子是临界资源,为每一支筷子定义1个互斥信号量;想拿到筷子需要先对信号量做P操作,使用完释放筷子对信号量做V操作。一下为:仅当哲学家的左、右两只筷子均可用时,才允许他拿起筷子进餐;原创 2015-10-25 21:38:28 · 5362 阅读 · 1 评论 -
操作系统哲学家就餐问题——定义一个互斥信号量mutex
以哲学家进餐模型为依据,在Linux控制台环境下创建5个进程,用semget函数创建一个信号量集(5个信号量,初值为1),模拟哲学家的思考和进餐行为:每一位哲学家饥饿时,先拿起左手筷子,再拿起右手筷子;筷子是临界资源,为每一支筷子定义1个互斥信号量;想拿到筷子需要先对信号量做P操作,使用完释放筷子对信号量做V操作。以下这种办法是:至多只允许有4位哲学家同时去拿左边的筷子,最终能保证至少有一位哲学家能够进餐;原创 2015-10-25 21:47:56 · 1140 阅读 · 0 评论