您当前的位置: 首页 >  操作系统

星拱北辰

暂无认证

  • 0浏览

    0关注

    1205博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【操作系统】实验 生产者-消费者问题解决方案

星拱北辰 发布时间:2020-09-26 21:31:04 ,浏览量:0

生产者-消费者问题

生产者-消费者问题,也称有界缓冲问题,属于操作系统进程同步的经典问题,在多线程并发编程中也是经典案例,值得去学习。

有一个生产者线程和一个消费者线程,生产者生产资源到资源缓冲区,消费者从资源缓冲区消费资源。资源缓冲区有界,空则不能取,满则不能产。

但是我们要做到的是同步啊,所以可以用信号量来处理。

分析(含伪代码)

这里给出了有限缓冲的通用结构,而不是只局限于某个特定实现。 假设缓冲池中有n个缓冲项,,每个缓冲项能存一个数据项。信号量mutex提供了对缓冲池访问的互斥要求,并初始化为1。信号量empty和full分别用来表示空缓冲项和满缓冲项的数量。信号量empty初始化为n;而信号量full初始化为0。

  • N buffers each can hold one item
  • Semaphore mutex initialized to the value 1
  • Semaphore full initialized to the value 0
  • Semaphore empty initialized to the value N

The structure of the producer process :

whil
关注
打赏
1660750074
查看更多评论
立即登录/注册

微信扫码登录

0.0491s