1、生产消费者模式:两个线程,一个负责生产数据,一个负责消费数据,与传统的单线程相比,可以提升不少性能。举个简单的例子,我们循环产生N个对象,然后对这N个对象进行操作,使用生产消费模式,我们可以利用生产者产生一个对象,消费者就对这个对象进行操作,同步进行。线程池使用来进行并行操作,提升程序的运行效率。
附上学习代码:
//测试主类
package tender;
import java.io.IOException;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
public class Test {
public static void main(String[] args) throws IOException, InterruptedException {
BlockingQueue<Integer> sharedQueue = new LinkedBlockingQueue<Integer>();
ConsumerTender producerTender = new ConsumerTender(sharedQueue);
ProducerTender consumerTender = new ProducerTender(sharedQueue);
Thread thread1 = new Thread(producerTender);
Thread thread2 = new Thread(consumerTender);
thread1.start();
thread2.start();
System.out.println("over");
}
}
//生产者线程
package tender;
import java.util.Random;
import java.util.concurrent.BlockingQueue;
public class ProducerTender implements Runnable {