Java多线程____BlockingQueue阻塞队列使用
package com.frame.base.thread;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ArrayBlockingQueue;
/**
* 并发编程____阻塞队列
*/
public class BlockingQueueTest {
public static void main(String[] args) throws InterruptedException {
BlockingQueue queue = new ArrayBlockingQueue(8);
for (int i = 0; i < 22; i++) {
System.out.println("向对了中天添加原素个数为:"+i);
queue.put(i);
//阻塞队列集合已满等待空间加入剩余原素__将一直等待
}
System.out.println("所有原素加入添加成功 退出...");
}
}
阻塞队列是Java5线程新特征中的内容,Java定义了阻塞队列的接口java.util.concurrent.BlockingQueue,
阻塞队列的概念是,一个指定长度的队列,如果队列满了,添加新元素的操作会被阻塞等待,直到有空位为止。
同样,当队列为空时候,请求队列元素的操作同样会阻塞等待,直到有可用元素为止。
有了这样的功能,就为多线程的排队等候的模型实现开辟了便捷通道,非常有用。