免费爱碰视频在线观看,九九精品国产屋,欧美亚洲尤物久久精品,1024在线观看视频亚洲

      java多線程異步CountDownLatch

      import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.Scanner;import java.util.concurrent.BlockingQueue;import java.util.concurrent.CountDownLatch;import java.util.concurrent.LinkedBlockingQueue;public class AsyncExecute {// (一),用CountDownLatch控制多線程的執(zhí)行順序// (二),多個線程同時工作時// (三),但有一個線程需要等其他線程結束后才能開始 public AsyncExecute(CountDownLatch cdl) { this.latch = cdl; queue = new LinkedBlockingQueue(); File file = new File(“F:xbl1.sql”); try{ bw = new BufferedWriter(new FileWriter(file)); } catch(Exception ex) { ex.printStackTrace(); } } // 控制資源釋放 private CountDownLatch latch; // 阻塞隊列 private BlockingQueue queue; private BufferedWriter bw; private boolean finshedHandle = false; // 線程能發(fā)現(xiàn)volatile變量最新值 private volatile boolean sendFinished = false; public void sendFinish() { sendFinished = true; } // 釋放資源 public void release() { System.out.println(“release..”); if (bw != null) { try { bw.close(); } catch (IOException e) { } } if(queue != null) { queue.clear(); queue = null; } } // 往隊列發(fā)送消息 public void sendMsg(String text) { queue.add(text); } public void handle() { // 模擬性能瓶頸每3秒 new Thread( new Runnable() { public void run() { while(!finshedHandle) { try { Thread.sleep(3000); } catch(Exception ex) {} // 隊列中獲取 String s = queue !=null? queue.peek():null; if(s != null) { // remove彈出 queue.poll(); try { bw.write(s); bw.newLine(); } catch(Exception ex) {} } // 隊列為空 if(sendFinished) { /* CountDownLatch 是一個同步工具類, 用來協(xié)作多個線程間的同步,或起到線程間通信 (而不是互斥)。 (一),他是通過計數(shù)器來實現(xiàn)的, (二),計數(shù)器的初始值為線程的數(shù)量 * (三),每當一個線程完成任務后, (四),計數(shù)器的值就會減1。 * (五),當計數(shù)器的值為0時, (六),它表示所有線程已經完成任務 */ // 計數(shù)器1->0 latch.countDown(); finshedHandle = true; break; } } } } ).start(); } public static void main(String[] args)throws Exception { //(一),CountDownLatch這個類 //(二),可以使一個線程等待 //(三),其他線程完成任務后再執(zhí)行 CountDownLatch latch = new CountDownLatch(1); AsyncExecute async = new AsyncExecute(latch); async.handle(); Scanner scanner = new Scanner(System.in); while(true) { String text = scanner.next(); if(text.equals(“exit”)) { async.sendFinish(); break; } async.sendMsg(text); } try { // 阻塞主線程,等待消息寫入到本地文件完成 latch.wait(); } catch(Exception ex) {} async.release(); scanner.close(); } }

      鄭重聲明:本文內容及圖片均整理自互聯(lián)網,不代表本站立場,版權歸原作者所有,如有侵權請聯(lián)系管理員(admin#wlmqw.com)刪除。
      (0)
      用戶投稿
      上一篇 2022年6月15日 18:17
      下一篇 2022年6月15日 18:17

      相關推薦

      • inter13代酷睿上市時間曝光

        據數(shù)字博客@ECSM官方稱,英特爾已經為其新的桌面CPU家族設定了發(fā)布日期。 據稱,英特爾Raptor Lake處理器將于10月17日上市,距離其在創(chuàng)新活動期間正式上市已近3周。這…

        2022年7月27日
      • 支招解決生鮮O2O遇到的問題與瓶頸,讓O2O肆意生長

          生鮮是一種很容易就出現(xiàn)各種問題的食物,相對來說保質期比較短,在做電商生鮮o2o的時候會有各種問題存在。那么生鮮O2O有哪些問題?怎么解決?看完易族智匯javashop為您編輯整…

        2022年8月16日
      • 天璣8100+12G內存+512G存儲,用五年不卡的2款手機

        數(shù)據顯示,現(xiàn)在用戶的平均換機周期已經達到2年以上了,今年的用戶已經不那么熱衷于更換手機了。尤其對一部分用戶而言,希望購買的新機能夠用到五年以上,同時價格還不能太高,本著這個原則,我…

        2022年6月18日
      • 7nm旗艦芯+256GB,現(xiàn)已跌至1799元,性價比不輸紅米Note 11T Pro

        關注數(shù)碼圈的都值得,紅米Note 11T Pro是目前2000元以內極具性價比的手機,憑借著天璣8100芯片、5080mAh大電池、144Hz高刷屏幕等亮點,上市之后,很快便成為了…

        2022年7月1日
      • 這兩款手機應該怎么選?vivoX80和紅米k50pro,我來告訴你

        首先,如果你在選擇換新手機上,出現(xiàn)了對于兩款手機猶豫不決的情況,那么你就要問自己一個問題:那就是從外觀和使用需求而言,你更喜歡哪一款手機? 就像vivoX80和紅米k50pro這兩…

        2022年6月28日
      • spring為每個請求增加traceId

        前言 spring開發(fā)web項目經常會查看日志,通常都是根據每個http請求來查詢整個鏈路的日志。 有時這些請求的參數(shù)都差不多,日志也很相似,很難分辨出是否同一鏈路的請求。 有時我…

        2022年7月31日
      • 買Iphone13還是等Iphone14,看完這些不糾結了

        又是一年618大促,手機圈這幾天是炸開了花! iphone13大降價,比一些安卓旗艦機型都便宜,這讓不少入手新機的小伙伴陷入糾結當中…… 到底是現(xiàn)在入手iphone13呢?還是再等…

        2022年6月24日
      • Redmi將成為618最大“贏家”,千元價位配天璣8100,讓友商汗顏

        眾所周知,小米、Redmi“分頭”行動以后,盧偉冰就帶著Redmi在中端機市場大展拳腳,將Redmi打造成了最具性價比、口碑最好的中端“機皇”。 剛上市不久的Redmi Note …

        2022年6月14日
      • 銳龍7000系列處理器官宣,組建新機推薦宏碁掠奪者GM7000

        5月23日,在 Computex 2022 上AMD正式官宣了銳龍7000系列處理器的相關參數(shù)。銳龍7000系列處理器每顆核心擁有1MB的L2緩存,相比Zen 3提升1倍,同時單核…

        2022年6月17日
      • 邊緣計算的典型應用

        車聯(lián)網 2018年12月,工信部提出《車聯(lián)網(智能網聯(lián)汽車)產業(yè)發(fā)展行動計劃)》,標志著車聯(lián)網技術的發(fā)展與應用得到了國家的大力支持。隨著5G技術和物聯(lián)網技術的不斷發(fā)展,汽車和交通技…

        2022年7月5日

      聯(lián)系我們

      聯(lián)系郵箱:admin#wlmqw.com
      工作時間:周一至周五,10:30-18:30,節(jié)假日休息