关于Java中Queue和BlockingQueue的区别
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。下面小编准备了关于Java中Queue和BlockingQueue的区别,提供给大家参考!
kingQueue:支持两个附加操作的 Queue,这两个操作是:检索元素时等待队列变为非空,以及存储元素时等待空间变得可用。
kingQueue 不接受 null 元素。
kingQueue 可以是限定容量的'。
kingQueue 实现是线程安全的。Queue不是线程安全的。因此可以将Blockingqueue用于用于生产者-使用者队列。
根据Api修改的一个例子,大家可以修改自己体验BlockingQueue的使用
package test;
import yBlockingQueue;
import kingQueue;
/**
* 生产者
*/
class Producer implements Runnable {
private final BlockingQueue queue;
Producer(BlockingQueue q) {
queue = q;
}
public void run() {
try {
for (int i = 0; i < 3; i++) {
(produce());
tln("生产后:"+());
}
} catch (InterruptedException ex) {
tStackTrace();
}
}
Character produce() {
char c = (char) (om() * 26 + 'A');
tln("生产前:" + c);
return c;
}
}
/**
* 消费者
*/
class Consumer implements Runnable {
private final BlockingQueue queue;
Consumer(BlockingQueue q) {
queue = q;
}
public void run() {
try {
while (true) {
consume(());
//p(100);
}
} catch (InterruptedException ex) {
tStackTrace();
}
}
void consume(Character c) {
tln("消费:" + c);
}
}
/**
* 一个生产者、两个消费者
*
*/
class Setup {
public static void main(String[] args) {
BlockingQueue q = new ArrayBlockingQueue(1);
Producer p = new Producer(q);
Consumer c1 = new Consumer(q);
Consumer c2 = new Consumer(q);
new Thread(p)t();
new Thread(c1)t();
new Thread(c2)t();
}
}
–EOF–
-
Sun国际认证考试证书查询
一、具体操作流程:1、自考试通过后一个月左右,证书从美国Sun总公司到达Sun北京培训中心。2、工作人员根据人名单进行数据库输入工作。3、将收到的证书与名单进行核对。4、核对无误后将发送一封邮件给考生索取中文信息。具体中文信息大概包括以下几点内容:(1)中文...
-
JAVA IO操作知识汇总
Java的核心库提供了全面的IO接口。包括:文件读写、标准设备输出等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。下面YJBYS小编为大家整理了关于JAVAIO操作知识汇总的文章,希望对你有所帮助。一、流的概念流是字节序列的抽...
-
关于Java的内省与反射
很多同学在深入的接触Java语言后就会发现这样两个词:反射(Reflection)和内省(Introspector),经常搞不清楚这到底是怎么回事,在什么场合下应用以及如何使用?下面YJBYS小编为大家整理了关于Java的内省与反射的文章,希望对你有所帮助。内省内省是Java语言对Bean类属性...
-
ccna安全认证考试指南
CCNA全称是CiscoCertifiedNetworkAssociate,翻译过来就是思科认证网络工程师。下面是小编整理的关于ccna安全认证考试指南,欢迎大家参考!思科认证介绍思科认证是由网络领域著名的厂商--Cisco公司推出的。该公司针对其产品的网络规划和网络支持推出了工程师资格认...
相关文章
- Java中break、continue、return语句的使用区别对比
- 最新的美文欣赏:Why American Culture is Unique
- Unit 9 A Have you ever been to a museum?八年级英语说课稿
- Chinas Liu to seek injury advice in US soon英语作文
- linux中pagbuffer和cache的区别
- java的String=a; a==null和a.equals(null)这两个判断有什么区别
- Perseverance will make you successful英语作文
- 英语的美文:Why American Culture is Unique
- Java中break、continue、return语句的使用区别对比介绍
- 英语满分作文:Reading-TheBestMeanstoAcquireknowledge