CSDN论坛 > VC/MFC > 进程/线程/DLL

win32多线程程序设计附书源码的哲学家进餐问题 [问题点数:100分,结帖人guyuguang8628391]

Bbs2
本版专家分:357
结帖率 100%
CSDN今日推荐
Bbs5
本版专家分:2728
Bbs5
本版专家分:3470
Bbs12
本版专家分:431894
版主
Blank
榜眼 2009年 总版技术专家分年内排行榜第二
2005年 总版技术专家分年内排行榜第二
Blank
银牌 2009年7月 总版技术专家分月排行榜第二
2009年3月 总版技术专家分月排行榜第二
2009年1月 总版技术专家分月排行榜第二
2005年7月 总版技术专家分月排行榜第二
2005年5月 总版技术专家分月排行榜第二
2005年3月 总版技术专家分月排行榜第二
Blank
优秀版主 优秀小版主
2015年8月优秀小版主
2015年9月优秀小版主
2015年5月优秀小版主
2015年2月论坛优秀版主
Blank
铜牌 2009年6月 总版技术专家分月排行榜第三
2009年2月 总版技术专家分月排行榜第三
2005年4月 总版技术专家分月排行榜第三
2005年1月 总版技术专家分月排行榜第三
Bbs2
本版专家分:357
Bbs10
本版专家分:188320
Blank
进士 2006年 总版技术专家分年内排行榜第五
2004年 总版技术专家分年内排行榜第八
Blank
银牌 2006年10月 总版技术专家分月排行榜第二
2006年9月 总版技术专家分月排行榜第二
Blank
铜牌 2006年5月 总版技术专家分月排行榜第三
Blank
微软MVP 2006年1月 荣获微软MVP称号
2008年1月 荣获微软MVP称号
2007年1月 荣获微软MVP称号
Bbs6
本版专家分:6337
Bbs2
本版专家分:357
Bbs2
本版专家分:357
Bbs2
本版专家分:357
匿名用户不能发表回复!登录|注册
其他相关推荐
操作系统课程设计 哲学家进餐问题(完整C++/MFC源代码+可运行程序+论文)
操作系统课程设计 哲学家进餐问题 里面包含了完整的C++/MFC源代码和可执行程序,还有课程设计论文,供大家参考学习
并发多线程之死锁-----哲学家吃饭问题
该例子说明了4点出现死锁需要同时满足的条件: 互斥条件:任务使用的资源至少有一个是不能共享的。这里,一根chopstick(筷子)一次就只能让一个philosopher(哲学家)使用。 至少有一个任务它必须持有一个资源且正在等待获取另一个当前被别的任务持有的资源,也就是说,要发生死锁,philosopher必须拿着一根筷子并且等待另一根筷子。 资源不能被任务抢占,任务必须把资源释放当作普通事件。ph
关于哲学家就餐问题 源代码(linux)
#include #include #include #include sem_t room; sem_t chopstick[5]; void* eat(void *num) {     int numb=(int)num;     while(1)     {         printf("number:%d thinking...\n",num
多线程处理哲学家就餐问题(GUI动态演示)
利用Java的多线程机制,以GUI形式动态演示解决哲学家就餐问题。
经典同步问题(二)---哲学家就餐问题
哲学家就餐问题
Linux下实现哲学家就餐问题
哲学家进餐问题是一个多线程运用的经典例子,涉及到线程同步/互斥,临界区访问问题以及一个避免死锁的解决方法。 有五个哲学家绕着圆桌坐,每个哲学家面前有一盘面,两人之间有一支筷子,这样每个哲学家左右各有一支筷子。哲学家有2个状态,思考或者拿起筷子吃饭。如果哲学家拿到一只筷子,不能吃饭,直到拿到2只才能吃饭,并且一次只能拿起身边的一支筷子。一旦拿起便不会放下筷子直到把饭吃完,此时才把这双筷子放回原处。
linux 哲学家进餐问题 c++
#include #include #include #include #include #include #define N 5 #define LEFT i #define RIGHT (i+1)%N using namespace std; class Semaphore{    private:       sem_t sem;    public:
操作系统:经典进程同步问题(2)哲学家进餐问题
知识总结: 互斥模式:互斥信号量赋初值一定是1 下面这种解决方法: 如果每个科学家都拿起相同方向的意志筷子就会导致每个人只能得到一个筷子,造成死锁! 解决方法: 方案1: 方案2: 方案3:
Linux 多线程同步之哲学家用餐问题分析
有五个哲学家公用一张餐桌,分别坐在周围的五张椅子上,在餐桌上有五个碗和五只筷子,他们的生活方式是交替地进行思考和用餐。平时,一个哲学家进行思考,饥饿时便试图拿取其左右最靠近他的筷子,只有在他拿到两只筷子时才能进餐,进餐完毕,放下筷子继续思考。 思路: 选用互斥锁mutex,如创建5个, pthread_mutex_t m[5]; 模型抽象: 5个哲学家 --> 5个线程; 5支筷子 -
尝试解决哲学家进餐问题(Java实现)
一. 问题描述 5个哲学家,5跟筷子,哲学家必须用两只筷子吃东西。他们只能使用自己左右手边的那两只筷子。做到不产生死锁以及要求高并发性。 二.  资源加锁法 直接给所请求的资源加锁,其他人想访问必须等待; package psy; /** * 哲学家线程 * @author stephenluu * */ public class PerThrea
关闭