Java中Queue和BlockingQueue的区别Java认证考试
文章作者 100test 发表时间 2010:03:18 20:36:06
来源 100Test.Com百考试题网
1.BlockingQueue:支持两个附加操作的 Queue,这两个操作是:检索元素时等待队列变为非空,以及存储元素时等待空间变得可用。
2.BlockingQueue 不接受 null 元素。
3.BlockingQueue 可以是限定容量的。
4.BlockingQueue 实现是线程安全的。Queue不是线程安全的。因此可以将Blockingqueue用于用于生产者-使用者队列。
根据Api修改的一个例子,大家可以修改自己体验BlockingQueue的使用
package test.
import java.util.concurrent.ArrayBlockingQueue.
import java.util.concurrent.BlockingQueue.
/**
* 生产者
*/
class Producer implements Runnable {
private final BlockingQueue queue.
Producer(BlockingQueue q) {
queue = q.
}
public void run() {
try {
for (int i = 0. i