生产者和消费者模型:
该代码模型的目的就是让我们对多线程更加深入的理解,所谓的生产者就是负责生产对象的一个线程(生产者线程),消费者就是负责消费(取出对象)生产者生产的对象的另外一个线程(消费者线程)。
创建一个Animal类:
package com.sun.test;
import java.io.Serializable;
class Animal implements Serializable {
private String name;// 动物的名字
private String desc;// 动物的描述
/**
* 设置名字和描述 该方法是生产者调用
* @param name
* @param desc
*/
public void set(String name, String desc) {
this.name = name;
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
this.desc = desc;
}
/**
* 消费者线程调用的方法
*/
public void get() {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(this.name + "-->" + this.desc);
}
}
// 定义生产者线程主体类
class Productor implements Runnable {
private Animal animal;
public Productor() {
}
public Productor(Animal animal) {
this.animal = animal;
}
@Override
public void run() {
for (int i = 0; i < 50; i++) {
if (i % 2 == 0) {
this.animal.set