美文网首页
写者与读者问题(进程)-操作系统

写者与读者问题(进程)-操作系统

作者: 热血沸腾 | 来源:发表于2023-05-04 15:07 被阅读0次
102读者与写者1.png

解决方案一 (读者优先)当读者源源不断时,写者就会被饿死,永远没有机会执行写操作。

semaphore rw = 1;//对于共享文件的互斥
int count = 0;//读进程计数
semaphore w=1;//写之间互斥
semaphore mutex=1;//保证对count变量的互斥访问,访问和修改该值的操作应该一气呵成

writer{
    while(1){
        P(rw); 
        写文件;
        V(rw);
    }
}

reader{
    while(1){
        P(mutex);
        if(count==0){
            P(rw);
        }
        count++;
        V(mutex);

        读文件;
        P(mutex);
        count--;
        if(count==0){
            V(rw);
        }
        V(mutex);
    }
}

解决方案二(读写公平法) 借助w 搞一个排队的队列

104读者与写者(读写公平法).png
semaphore rw = 1;//对于共享文件的互斥
int count = 0;//读进程计数
semaphore w=1;//写优先
semaphore mutex=1;//保证对count变量的互斥访问,访问和修改该值的操作应该一气呵成

writer{
    while(1){
        P(w);
        P(rw); 
        写文件;
        V(rw);
        V(w);
    }
}

reader{
    while(1){
        P(w);
        P(mutex);
        if(count==0){
            P(rw);
        }
        count++;
        V(mutex);
        V(w);
        读文件;
        P(mutex);
        count--;
        if(count==0){
            V(rw);
        }
        V(mutex);
    }
}

相关文章

  • 操作系统之读者与写者问题

    一个数据文件或记录可被多个进程共享。 只要求读文件的进程称为“Reader进程”,其它进程则称为“Writer进程...

  • 读写者问题

    读写者问题 问题 背景 有读者和写者两组并发进程共享一个文件 读者可以同时访问文件 写进程必须独占文件,不可和其他...

  • 二.进程(5)信号量习题

    1. 读者与写者(写者优先方式) 2. 黑白棋问题 3. 嗜睡的理发师问题 4. 生产与销售问题 读者与写者问题 ...

  • 读者-写者问题的应用——多面墙的查询问题

    什么是读者-写者问题? 读者-写者问题是指多个进程对一个共享资源即数据集(如文件或记录集)进行读写操作的问题。把只...

  • 冷月手撕408之操作系统(10)-经典同步互斥问题

    操作系统的经典同步互斥问题主要是介绍了 几个经典的同步互斥问题,其中搞懂生产者消费者问题、读者写者问题;其他的问题...

  • MS(9):操作系统及网络篇

    一、操作系统 1、堆栈 问题:分别从操作系统的内存角度与进程线程角度解释分析堆,栈二者的区别 问题:堆,栈上面都存...

  • 读者写者问题

    读者写者问题的小总结。。。实际上就是抄书写者优先的情况 读进程优先的情况 二者公平竞争的情况

  • 读者-写者问题

    问题描述 使用信号量进行解决 优先策略选择 读者优先 上述方案为读者优先。因为当读者进行读取的时候,如果后面一直有...

  • 读者写者问题

    读者写者问题是IPC问题的一种典型的代表。 我写了一个实现,这是一个写者优先的实现。一个写者,多个读者的模型。 读...

  • (转)【OS】进程同步:读者-写者问题

    问题描述 有读者和写者两组并发进程,共享一个文件,当两个或以上的读进程同时访问共享数据时不会产生副作用,但若某个写...

网友评论

      本文标题:写者与读者问题(进程)-操作系统

      本文链接:https://www.haomeiwen.com/subject/whvxsdtx.html