• 大小: 4KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-01-08
  • 语言: 其他
  • 标签:

资源简介

这是利用信号量互斥来实现读者写者问题,并写者优先(Linux下编译直接通过,windows下注释将显示乱码)!

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ji 60
#define jijianglin 90
#define n 6 //定应测试的序列数。
//注释有些是在linux里进行的,所以有些是乱码。
int shmidrcount;
int* p1;
int*p2;
char *shmwcount;  
char *shmrcount;

int semid;  
// 实例化semun,等下用来传递给semonp的参数,
union semun{int val;struct semid_ds* buf;ushort* array;};


struct ps
{char who;//测试的结构,R代表读者,W代表写者。
char name;//写者或读者的名字。
 };

struct ps queue[n];
//创建测试序列。
void createseq()
{
    queue[0].who=‘R‘;queue[0].name=‘A‘;
    queue[1].who=‘R‘;queue[1].name=‘B‘;
    queue[2].who=‘R‘;queue[2].name=‘C‘;
    queue[3].who=‘R‘;queue[3].name=‘D‘;
    queue[4].who=‘W‘;queue[4].name=‘E‘;
    queue[5].who=‘W‘;queue[

评论

共有 条评论

相关资源