资源简介
C语言解决哲学家就餐问题
代码片段和文件信息
//copyright software school Lijianeng student ID:12330163
//The Dinning Philosophers Problem using win32 API
#include
#include
#include
#include
#include
using namespace std;
HANDLE chop[5]room;
void init() {
for(int i=0;i<5;i++) {
chop[i]=CreateSemaphore(NULL11NULL);//信号量初始化
}
room=CreateSemaphore(NULL44NULL);
}
DWORD WINAPI dinning(LPVOID param) {
int num = *(int*)param;
while(1) {
srand(time(0));
if(rand()%2) {
printf(“%d号哲学家决定吃饭\n“num+1);
WaitForSingleobject(roomINFINITE);
WaitForSingleobject(chop[num]INFINITE); //按照题意需要等到有空余的筷子才吃饭
printf(“%d号哲学家拿起了左边的%d号筷子\n“num+1num+1);//critical section
WaitForSingleobject(chop[(num+1)%5]INFINITE);
printf(“%d号哲学家拿起了右边的
- 上一篇:捷联惯性导航C语言实现
- 下一篇:营养套餐问题
相关资源
- 捷联惯性导航C语言实现
- DTW算法 C语言代码
- rsa加密解密算法C语言代码
- FFT 和IFFT基二的C语言和MATLAB实现
- 超级效率的FFT的代码(C语言)
- 灰度预测模型C语言源代码
- C语言实现二值图像连通区域标记,可
- SM2/SM3算法C语言实现
- 用C语言实现异质链表
- 消消乐游戏c语言代码
- at89c51单片机产生5KHZ方波c语言编程
- STM32系列单片机C语言编程语法指导
- 东北大学C语言课设—小金库
- C语言课设---汉诺塔程序代码
- c语言实现矩阵求逆程序
- Linux c语言多线程实现生产者/消费者问
- 航班信息管理系统C语言编写
- 图像分割和边缘检测完全C语言源代码
- C语言后台代码
- 基于蚁群算法的机器人路径规划C语言
- C语言动物识别专家系统
- C语言经典编程282例源码+随书光盘
- C语言写的图书馆管理系统
- C语言直接读写DWG文件源代码
- 谭浩强版C语言视频百度云盘连接
- C语言环境下的AES加密算法,支持128位
- JPEG编解码的c语言实现
- C语言实现调度算法源代码-山东大学操
- C语言写的简单均值滤波算法
- 敢死队问题纯C语言编写
评论
共有 条评论