资源简介
一个理发店由一个有几张椅子的等待室和一个放有一张理发椅的理发室组成。1. 若没有要理发的顾客,则理发师去睡觉;2. 若一顾客进入理发店,理发师正在为别人理发,且等待室有空椅子,则该顾客就找张椅子按顺序坐下;3. 若一顾客进入理发店,理发师在睡觉,则叫醒理发师为该顾客理发;4. 若一顾客进入理发店且所有椅子都被占用了,则该顾客就离开。
代码片段和文件信息
//2007-12-23 10:46:11
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define MAX_CHAIR_NO 50
#define MAX_CUSTOM_NO 10
#define MAX_BARBER_NO 8
int chair_no=5;
time_t end_time; /**//*end time*/
sem_t mutexcustomersbarbers;
int count = 0;//等待理发的顾客数
void barber(void* arg);
void customer(void* arg);
int main(int argc char *argv[])
{
int i=0;
int custom_no=1;
int barber_no=1;
int interval=20;
pthread_t barber_id[MAX_BARBER_NO];
pthread_t custom_id[MAX_CUSTOM_NO];
int ret = 0;
if(argc==1){
}else if(argc==2){
if(strcmp(argv[1]“-h“)||(strcmp(argv[1]“-H“))){
printf(“usage: param: barber_no cust_no interval chair_no\n“);
exit(0);
}
custom_no=atoi(argv[1]);
}else if(argc==3){
barber_no=atoi(argv[1]);
custom_no=atoi(argv[2]);
}else if(argc==4){
barber_no=atoi(argv[1]);
custom_no=atoi(argv[2]);
interval=atoi(argv[3]);
}else if(argc==5){
barber_no=atoi(argv[1]);
custom_no=atoi(argv[2]);
interval=atoi(argv[3]);
chair_no=atoi(argv[4]);
}
if(barber_no>MAX_BARBER_NO) barber_no=MAX_BARBER_NO;
if(custom_no>MAX_CUSTOM_NO) custom_no=MAX_CUSTOM_NO;
if(chair_no>MAX_CHAIR_NO) chair_no=MAX_CHAIR_NO;
printf(“barber no: %d customer no: %d interval(s) %d chair no: %d\n“
barber_nocustom_nointervalchair_no);
end_time = time(NULL)+interval;
- 上一篇:《操作系统概念》第七版1-13章答案含代码
- 下一篇:DNS中继服务器的实现
相关资源
- 完整的Linux培训视频
- Linux shell实现阳历转农历
- linux系统DHCP软件包
- centos6的网络源
- linux shell 判断平闰年,判断输入日期
- 淘淘商城taotao-image-server.7z文件
- jdk-6u45-linux-i586.bin
- vmware-vcenter 6.5 -vcsa linux版本
- CentOS7.0镜像包
- jdk1.8 64位官方正式版 jdk-8u162-linux-x6
- 绝版 cdlinux 0.9.7.1 集成 minidwep 40420 无
- Linux下GPS定位
- LINUX系统ping命令完整实现带路由追踪
- 树莓派GPU手册 videocore IV
- Linux命令大全 完整版
- QTcpServer实现多客户端连接
- 多线程下无同步和同步的简单对比
- Linux系统 用户界面与进程的创建
- Linux嵌入式驱动开发视频(麦可网)
- 集美大学《基于unix_linux的C系统编程》
- 2440 linux2.6下I2C驱动,编译通过
- TCP多线程服务器
- linux下C 网络编程
- Linux从入门到精通第2版光盘视频.txt
- 2018阿里云linux一键安装web环境最新版
- 马哥Linux2016视频就业班和架构班
- linux下QT程序读写配置文件小程序
- uClinux-dist-20070130-nios2-02.diff.gz
- linux c程序获取cpu使用率及内存使用情
- 马哥linux2016初中高级,网盘提取码
评论
共有 条评论