您好,登錄后才能下訂單哦!
這篇文章給大家介紹linkedblockingqueue怎么在java中使用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
Java的特點(diǎn)有哪些 1.Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。 2.Java具有簡(jiǎn)單性、面向?qū)ο?、分布式、安全性、平臺(tái)獨(dú)立與可移植性、動(dòng)態(tài)性等特點(diǎn)。 3.使用Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。
1.概念
由鏈表結(jié)構(gòu)組成的有界阻塞隊(duì)列。底層基于單向鏈表實(shí)現(xiàn)的阻塞隊(duì)列,可以當(dāng)做無(wú)界隊(duì)列也可以當(dāng)做有界隊(duì)列來(lái)使用。
2.特點(diǎn)
(1)內(nèi)部使用節(jié)點(diǎn)關(guān)聯(lián),會(huì)產(chǎn)生多一點(diǎn)內(nèi)存占用
(2)使用兩個(gè)重入鎖分別控制元素的入隊(duì)和出隊(duì),用Condition進(jìn)行線程間的喚醒和等待
(3)有邊界的,在默認(rèn)構(gòu)造方法中容量是Integer.MAX_VALUE
(4)非連續(xù)性內(nèi)存空間
3.實(shí)例
import java.util.concurrent.LinkedBlockingQueue; public class Test { public static void main(String[] args) { LinkedBlockingQueue<String> mQueue = new LinkedBlockingQueue<String>(); new Thread(new Runnable() { @Override public void run() { while (true) { try { String s = mQueue.take(); System.out.println("取出數(shù)據(jù):" + String.valueOf(s)); } catch (InterruptedException e) { e.printStackTrace(); } } } }).start(); new Thread(new Runnable() { @Override public void run() { int count = 0; while (true) { System.out.println("裝載數(shù)據(jù):" + count); try { mQueue.put(String.valueOf(count)); Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } count++; } } }).start(); } }
關(guān)于linkedblockingqueue怎么在java中使用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。