關於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認證考試知識點:OSCache提升J2EE系統運行性能
Cache是一種用於提高系統響應速度、改善系統運行性能的技術。尤其是在Web應用中,通過緩存頁面的輸出結果,可以很顯着的改善系統運行性能。本文中作者給大家介紹一個實現J2EE框架中Web應用層緩存功能的開放源代碼項目----OSCache。通過應用OSCache,我們不但可以實...
-
JAVA IO操作知識彙總
Java的核心庫提供了全面的IO接口。包括:文件讀寫、標準設備輸出等。Java中IO是以流為基礎進行輸入輸出的,所有數據被串行化寫入輸出流,或者從輸入流讀入。下面YJBYS小編為大家整理了關於JAVAIO操作知識彙總的文章,希望對你有所幫助。一、流的概念流是字節序列的抽...
-
java初級程序員面試題「經典」
JAVA程序員每次考試都包括65道以上的多項選擇題,時間大約為90分鐘。考試合格後由Sun公司頒發的國際通用的Java程序員證書。以下是關於java初級程序員面試題,歡迎大家參考!1、面向對象的特徵有哪些方面?答:面向對象的特徵主要有以下幾個方面:1)抽象:抽象是將一類對象...
-
Sun認證Java程序員(SCJP)考題常見陷阱集合
(1)Twopublicclassesinthesamefile.(illegal)同一個文件裏有兩個public類。(非法)(2)Mainmethodcallinganon-staticmethod.(illegal)在main(String[]args)方法內調用一個非靜態方法。(非法)(3)Methodswiththesamenameastheconstructor(s).(這種題常有)與Constr...
相關文章
- Perseverance will make you successful英語作文
- 英語滿分作文:Reading-TheBestMeanstoAcquireknowledge
- 最新的美文欣賞:Why American Culture is Unique
- java的String=a; a==null和a.equals(null)這兩個判斷有什麼區別
- Chinas Liu to seek injury advice in US soon英語作文
- Java中break、continue、return語句的使用區別對比介紹
- 英語的美文:Why American Culture is Unique
- linux中pagbuffer和cache的區別
- Java中break、continue、return語句的使用區別對比
- Unit 9 A Have you ever been to a museum?八年級英語説課稿