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基础之线程阻塞队列的主要内容,如果未能解决你的问题,请参考以下文章

线程队列之阻塞队列LinkedBlockingQueue

Java多线程总结之线程安全队列Queue

java多线程之队列

Java基础教程:多线程基础——阻塞队列

线程小酌之JAVA中的阻塞队列

java并发之阻塞队列