- 4
- 0
- 约3.28千字
- 约 4页
- 2017-12-20 发布于河南
- 举报
完全理解Java中生产者和消费者模型
生产者与消费者模型 在平时的编程中,经常遇到一个线程要产生数据,而另一个线程要处理产生出来的数据,这其实就是生产者和消费者的关系。生产者在产生数据后可以直接调用消费者处理数据;也可以把数据放在一个缓冲区中,让消费者从缓冲区中取出数据处理,两种方式从调用方式上来说,第一种可是说是同步的,即生产者在生产出数据后要等待消费者消耗掉后才能生产下一个数据,等待时间的长短取决于消费者处理数据的能力;第二种方式是异步的,生产者只管生产数据,然后扔到一个缓冲区内,不管数据是否被立即处理了,消费者则从缓冲区中依次取出数据进行自己节奏的处理。从线程模型角度来说,第一种是单线程的,而第二种则是多线程的。多线程必须要考虑的一个问题是线程之间的协作,协作即协调合作,不要乱套,以生产者和消费者模型而言,就是当缓冲区里没有数据时消费者要等待,等待生产者生产数据,当缓冲区满的时候生产者要等待,等待消费者消耗掉一些数据空出位置好存放数据。 java中为了实现多线程之间的协助,需要用到几个特性:wait(),notify(),notifyAll(),synchronized,synchronized相当于操作系统里的临界区或者锁的概念,所谓临界区就是说一次只能有一个线程进去,其他想进入的线程必须等待,加了synchronized锁后,才能调用wait(),notify()和notifyAll()操作,wait方法被调
您可能关注的文档
最近下载
- 垫片落料冲孔复合模具设计.doc VIP
- SAP配置自动过账ebook.pdf VIP
- 小学科学苏教版五年级下册第二单元《仿生》练习题(附参考答案).doc VIP
- Agilent 8890 GC System 8890Series GC+Openlab CDS 2.X现场培训教材-V1.1.pdf
- 加工中心技师论文薄壁件的数控铣削加工及工装设计.pdf VIP
- 《SAP_PS原理介绍和项目管理知识概要.ppt VIP
- 基因合成报告.pdf
- 人力资源部访谈提纲(汇总).doc VIP
- 安庆市2026年高三模拟考试(二模)物理试卷(含答案解析).pdf
- 2025年公安警务辅助人员招聘考试(公安基础知识+公共基础知识)题库.docx VIP
原创力文档

文档评论(0)