Java基础之线程阻塞队列
Posted 潇湘剑雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础之线程阻塞队列相关的知识,希望对你有一定的参考价值。
阻塞队列是Java线程新特征中的内容,Java定义了阻塞队列的接口java.util.concurrent.BlockingQueue,阻塞队列的概念是,一个指定长度的队列,如果队列满了,添加新元素的操作会被阻塞等待,直到有空位为止。同样,当队列为空时候,请求队列元素的操作同样会阻塞等待,直到有可用元素为止
阻塞队列还有很多实现类,用来满足各种复杂的需求:BlockingQueue、ArrayBlockingQueue, DelayQueue, LinkedBlockingQueue, PriorityBlockingQueue, SynchronousQueue
package unit_fifteen; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ArrayBlockingQueue; /** * Java线程:新特征-阻塞队列 * */ public class Test { public static void main(String[] args) throws InterruptedException { BlockingQueue bqueue = new ArrayBlockingQueue(20); for (int i = 0; i < 30; i++) { // 将指定元素添加到此队列中,如果没有可用空间,将一直等待(如果有必要)。 bqueue.put(i); System.out.println("向阻塞队列中添加了元素:" + i); } System.out.println("程序到此运行结束,即将退出----"); } }
以上是关于Java基础之线程阻塞队列的主要内容,如果未能解决你的问题,请参考以下文章