主要考点:
数据结构:消息队列;
多线程生产,多线程消费;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicInteger;
/**
* class ConsumerAndProducer
*
* @author lonkin created on 2019-09-23
*/
public class ConsumerAndProducer {
public static void main(String[] args) {
//内存缓冲区
BlockingQueue<Data> queue = new LinkedBlockingQueue<>(10);
//生产者
Provider p1 = new Provider(queue);
Provider p2 = new Provider(queue);
Provider p3 = new Provider(queue);
//消费者
Consumer c1 = new Consumer(queue);
Consumer c2 = new Consumer(queue);
Consumer c3 = new Consumer(queue);
//创建线程池,这是一个缓存的线程池,可以创建无穷大的线程,没有任务的时候不创建线程,空闲线程存活的时间为60s。
ExecutorService cachepool = Executors.newCachedThreadPool();
cachepool.execute(p1)