美文网首页
读写者公平竞争

读写者公平竞争

作者: 持之以蘅 | 来源:发表于2019-04-09 00:42 被阅读0次

满足条件:
优先级相同;
写者、读者互斥访问;
只有一个写者访问临界区;
可以有多个读者同时访问临界资源

定义信号量fmutex(文件资源访问的互斥),queue(进入队列的互斥),rmutex(读信号互斥),wmutex(写信号互斥)。

信号量

创建父线程main(),用sem_init初始化信号量,并创建读写子进程。

父线程

创建子进程。

信号量queue来实现读者与写者的公平竞争
信号量fmutex来实现对临界区的互斥访问

reader

需要读互斥量rmutex来保证读互斥,rcount实现多个读者访问临界资源


读者

writer

不需要写互斥量wmutex


写者

编译运行

gcc v3.c -lpthread -o v3
./v3


image.png

观察到读写者有交替进行,而不是读者先进行或者写者先进行,说明实现了公平竞争

补充一下未截的图


头文件以及宏定义 writing and reading

相关文章

  • 读写者公平竞争

    满足条件:优先级相同;写者、读者互斥访问;只有一个写者访问临界区;可以有多个读者同时访问临界资源 定义信号量fmu...

  • 读写问题---写者优先、公平竞争

    允许多个进程同时读一个共享对象,因为读操作不会使数据文件混乱。但不允许一个Writer进程和其他Reader进程或...

  • 读者写者问题

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

  • 读写者问题

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

  • 公平竞争

    这是我第三次参加公司内部的竞聘,七年了,做了两次炮灰,这次直觉上也不会例外。 这样的中型电厂,正式工人数300人,...

  • 公平竞争

    凡是稀缺必有竞争,凡是竞争必有选择,凡是选择必有歧视。这个世界上,到底有没有所谓的公平竞争,用什么样的规则来竞争,...

  • 公平竞争

    二十一世纪是一个体现人生观、价值观、世界观的时代。 人和人比的是谁的智力超群、应变能力超强,谁就是时代精英。 在这...

  • 由博乐读写达人大赛想到的

    人人都说“得语文者得天下。”我看“得读写者得语文。”县教研室今年将“博乐阅读达人赛”更名为“博乐读写达人赛”,目标...

  • Go 读写锁

    读写锁sync.RWMutext实现读者写者问题

  • 算法:读写者问题

    锁解析 : RWMutex : 读-写互斥锁 WWMutex : 写-写互斥锁 WPriorityMutex =...

网友评论

      本文标题:读写者公平竞争

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