资源简介
操作系统多线程经典问题,顾客理发师问题。理发师1位,顾客、椅子的数量可以自定义。没有顾客时:
理发师永远睡觉
新顾客到来时:
若椅子满了,新顾客离开
若椅子没满,新顾客等待;若理发师工作完,新顾客理发
代码片段和文件信息
// BarberAndCustomer.cpp : 定义控制台应用程序的入口点。
//
/*
没有顾客时:
理发师永远睡觉
新顾客到来时:
若椅子满了,新顾客离开
若椅子没满,新顾客等待;若理发师工作完,新顾客理发
理发师1位,顾客、椅子的数量可以自定义
*/
#include “stdafx.h“
#include
#include
#include
#include
#include
using namespace std;
unsigned int waiting;//正在等待的顾客的数量
const unsigned int barber = 1;//理发师数量
unsigned int customer ;//顾客数量
unsigned int chair;//椅子数量
unsigned int threadnum ;//线程数量
clock_t t;//时间
HANDLE semaphoreBarber;//理发师信号
HANDLE CustomerMutex;//顾客数量控制量
HANDLE semaphoreCustomer;//顾客信号
HANDLE Mutex;//操作控制量
HANDLE Hthread[1000];
HANDLE first;//先到先得控制量
DWORD WINAPI funcCuctomer(LPVOID pm)
{
WaitForSingleobject(Mutex INFINITE);
printf(“%d时刻,顾客%d进店\n“ clock()int(pm));
SetEvent(semaphoreCustomer);//触发顾客
- 上一篇:信息管理系统-C语言版-程序设计
- 下一篇:c语言实现的离散卷积程序
相关资源
- Linux网络编程
- QT多线程处理图像变换和图像融合
- VC 多线程工具开源代码
- C++ 多线程文件复制
- C++ HTTP服务器多线程文件
- QT+opencv打开RTSP视频流多线程
- Qt多线程
- linux上c++多线程
- 多线程高速文件搜索程序源码
- c++ 多线程
- Linux多线程服务端编程 书签高清非扫
- c++ 多线程
- 多线程控制
- MFC多线程文件搜索器
- MFC多线程端口扫描
- 基于Linux的TCP多线程网络聊天室源码内
- MFC下Ping功能实现
- windows编程 VC6.0 网络程序设计 TCP 聊天
- CnComm v1.50 多线程串口通讯库
- 嵌入式linux网关串口网口转发程序
- MFC多线程实现背景音乐播放
- Linux C利用多进程或多线程模拟实现生
- Oci 多线程操作接口封装demo
- Linux 下多线程编程完成矩阵乘法C++源
- C++多线程端口扫描程序
- MFC多线程编程
- 嵌入式实时操作系统的多线程计算-
- C++多线程
评论
共有 条评论