阻塞队列实现生产者-消费者模式
Posted 胖子爱你520
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阻塞队列实现生产者-消费者模式相关的知识,希望对你有一定的参考价值。
public class Test
private int queueSize = 10;
private ArrayBlockingQueue<Integer> queue = new ArrayBlockingQueue<>(queueSize);
public static void main(String[] args)
Test test = new Test();
Producer producer = test.new Producer();
Consumer consumer = test.new Consumer();
producer.start();
consumer.start();
class Consumer extends Thread
@Override
public void run()
while (true)
try
queue.take();
System.out.println("Consumer : queue.size = " + queue.size());
catch (InterruptedException e)
class Producer extends Thread
@Override
public void run()
while (true)
try
queue.put(1);
System.out.println("Producer : queue.size = " + queue.size());
catch (InterruptedException e)
使用阻塞队列无需单独考虑同步和线程间通信的问题,实现起来很简单
以上是关于阻塞队列实现生产者-消费者模式的主要内容,如果未能解决你的问题,请参考以下文章