A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 范晓冲 中级黑马   /  2014-1-16 23:21  /  932 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

【生产者和消费者】有什么作用?
或者说他们是用来解决什么问题的?
在实际开发中,有何应用?
谁对这块很明白啊?帮着讲讲呗

4 个回复

倒序浏览
生产者和消费者问题是从操作系统中的许多实际同步问题中抽象出来的具有
代表性的问题。它反映了操作系统中典型的同步例子。
生产者消费者问题是研究多线程程序时绕不开的问题,它的描述是有一块生产者和消费者共享的有界缓冲区,生产者往缓冲区放入产品,消费者从缓冲区取走产品,这个过程可以无休止的执行,不能因缓冲区满生产者放不进产品而终止,也不能因缓冲区空消费者无产品可取而终止。

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 很给力!

查看全部评分

回复 使用道具 举报
这块很容易理解 实现同步 比如生产一个消费一个 可以实现同步 最好的一个例子 如果你QQ有一个业务 是不是用一天少一天?少到没有了 你的QQ业务就过期了 这个很容易理解吧
回复 使用道具 举报
实现进程同步~生产者将生产的一个物品放在空缓冲区供消费者消费 消费者从缓冲区获得物品 然后释放缓冲区。当生产者生产物品时,如果没有空缓冲区可用,那么生产者必须等待消费者释放出一个空缓冲区。当消费者消费物品时,如果没有满的缓冲区,那么消费者将被阻塞,直到新的物品被生产出来~

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
最常见的应该线程问题.用来避免多线程操作同一内存资源而出现错误的情况.
其实更泛一点来说,不局限于多线程对内存的操作.消费者和生产者问题最早应该是源于操作系统中.多用户多任务的操作系统对计算机资源的调度方面.
再泛一点来说,其实只要涉及到对资源的调度方面的问题都会涉及到消费者生产者问题,比如多个进程(线程)共用一块内存,多个程序都对摄像头进行访问的时候等等.

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马