通俗来讲,生产者就是好比如吃自助的时候的厨师,消费者就是我们吃自助的人。只有厨师做了菜,消费者才可以吃;而当没有人吃的时候厨师停止做菜。
在 Java 中,负责产生数据的模块是生产者,负责使用数据的模块是消费者. 生产者消费者解决数据的平衡问题,即先有数据然后才能使用,没有数据时,消费者需要等待。
在此可能生产者与消费者的数量可能是:
1.一个生产者与一个消费者
2.一个生产者多个消费者
3.多个生产者多个消费者
简单地代码例示如下:
package com.company.producerdata;
/***
* 定义一个操作数据的类
*/
public class ValueOP {
private String value="";
//定义方法修改value字段的值
public void setValue(){
synchronized (this){
//如果value的值不是空串就等待