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

资源简介

教材中对读者写者问题算法均有描述,但这个算法在不断地有读者流的情况下,写者会被阻塞。编写一个写者优先解决读者写者问题的程序,其中读者和写者均是多个进程,用信号量作为同步互斥机制。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define maxn 15
struct shared{
             char * text;
             int rnwn;
};

union semun{
int val;
struct semid_ds *buf;
unsigned short *arry;
};

int Vsem(int semid){
struct sembuf buf={0+1SEM_UNDO};
if(semop(semid&buf1)==-1){
perror(“semop“);
return 0;
}
return 1;
}

int Psem(int semid){
struct sembuf buf={0-1SEM_UNDO};
if(semop(semid&buf1)==-1){
perror(“semop“);
return 0;
}
return 1;
}

void creader(int rn_mutexint wn_mutexint w_firstint readint writestruct shared * share){
        int k=20;
        while(k--){
                Psem(read);
        

评论

共有 条评论