起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 短期培训 > IT培训 > 如何用Java编写代码解决生产者消费者问题?

如何用Java编写代码解决生产者消费者问题?

时间:2019-08-29 19:23:24来源:上海千锋 作者:程序员日常 已有: 名学员访问该课程

  快捷搜索:java语言java开发Java培训

前言:在一些面试中,我们永远不知道有什么样的难题在等着我们,最近,不只一位学员反馈,面试官让应聘者写一段程序模拟生产者消费者问题。明明知识掌握得很扎实了,但还是被这道题难住了,果然理论知识要掌握好,项目实践也不能落下。下面,千锋老师就为大家解答如何用Java编写代码解决生产者消费

  在一些面试中,我们永远不知道有什么样的难题在等着我们,最近,不只一位学员反馈,面试官让应聘者写一段程序模拟生产者消费者问题。明明知识掌握得很扎实了,但还是被这道题难住了,果然理论知识要掌握好,项目实践也不能落下。下面,千锋老师就为大家解答如何用Java编写代码解决生产者消费者问题。

如何用Java编写代码解决生产者消费者问题?_www.itpxw.cn

  首先,我们要想使用程序来模拟,并不用花费太多的时间,但是要先弄明白生产者与消费者的关系。生产者、消费者是两个实体对象,生产者生产物品,消费者消费物品。如果在生产者中定义生产的流程,在消费者中定义消费的流程,两个对象就需要彼此引用,这样依赖性太高,而且实际上性能也不高,这个时候就需要一个缓冲器,一个中间对象,我们把它形象地称之为“仓库”。生产的物品放入仓库,消费的物品从仓库中取出,这样生产者和消费者就能够取消两者之间的引用,直接通过仓库引用来同步状态,降低耦合。可以看到,引入仓库还是很有必要的。

  接着我们来看一下生产者、消费者问题的两种类型,一种是使用某种机制来保护生产者和消费者之间的同步,另一种则与Linux中的管道思路相似。相对来说第一种类型的处理方式更为常规,实现方式大致分为三种:经典的wait(),notify()方法、await(),signal()方法以及使用阻塞队列(BlockingQueue)的方法。

  然后,用上述方法进行写代码就可以了。理论知识掌握起来比较轻松,但是真正操作起来就没那么简单了。而且写代码这种工作,不同的人有不同的思维方式,也就有不同的写法,所以与其教你怎么写代码,不如教你写代码的思路。

  千锋校区JavaEE+分布式开发培训,积极把握未来科技风向,采用创新型教学方式,通过源码级教学+问题思维训练+解决能力培养+敏捷式开发,让学员在学习过程中养成思考问题、理解问题、解决问题的能力。同时,课程包括解决方案式项目实战,覆盖大多数企业的技术问题,从而真正提高程序员的核心竞争力。

 

文章出自:http://qh.itpxw.cn/peixun/it/201954190.html

文章标题:如何用Java编写代码解决生产者消费者问题?



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

(责任编辑:深圳学历教育网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
培训学校
千锋教育上海校区 访问该机构站点 报名留言 加为好友 用户等级:注册会员 用户级别:0 机构名称:北京千锋互联科技有限公司上海分公司 联 系 人:千锋张老师 联系电话:021-56166279 联系手机:17811803254 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件:1123324098@qq.com 网站域名:http://sh.mobiletrain.org/ 注册时间:2019-04-19 15:04 最后登录:2020-09-01 15:09
推荐内容