這篇文章給大家介紹java中怎么使用BlockingQueue阻塞隊(duì)列實(shí)現(xiàn)互斥同步通信,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括墾利網(wǎng)站建設(shè)、墾利網(wǎng)站制作、墾利網(wǎng)頁制作以及墾利網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,墾利網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到墾利省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
package com.study; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; public class BlockingQueueDemo { public static void main(String[] args) { BlockingQueueDemo blockingQueueDemo = new BlockingQueueDemo(); final BlockingQueueClass blockingQueueClass = blockingQueueDemo.new BlockingQueueClass(); Thread thread = new Thread(new Runnable() { @Override public void run() { while (true) { blockingQueueClass.put(); } } }); thread.start(); Thread thread2 = new Thread(new Runnable() { @Override public void run() { while (true) { blockingQueueClass.take(); } } }); thread2.start(); } class BlockingQueueClass{ BlockingQueuetakeblockingQueue = new ArrayBlockingQueue (1); BlockingQueue putblockingQueue = new ArrayBlockingQueue (1); { try { takeblockingQueue.put(1); } catch (InterruptedException e) { e.printStackTrace(); } } public void put(){ try { putblockingQueue.put(1); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("put..."); try { takeblockingQueue.take(); } catch (InterruptedException e) { e.printStackTrace(); } } public void take(){ try { takeblockingQueue.put(1); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("take..."); try { putblockingQueue.take(); } catch (InterruptedException e) { e.printStackTrace(); } } } }
關(guān)于java中怎么使用BlockingQueue阻塞隊(duì)列實(shí)現(xiàn)互斥同步通信就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。