摘要:項目需求項目中需要優化一個接口,這個接口需要拉取個第三方接口,需求延遲時間小于技術選型是提出的一個支持非阻塞的多功能的,同樣也是實現了接口,是添加的類,用來描述一個異步計算的結果。對進一步完善,擴展了諸多功能形成了。
項目需求:
項目中需要優化一個接口,這個接口需要拉取23個第三方接口,需求延遲時間小于200ms;
技術選型:CompletableFuture是JDK8提出的一個支持非阻塞的多功能的Future,同樣也是實現了Future接口,Future是Java 5添加的類,用來描述一個異步計算的結果。java8對future進一步完善,擴展了諸多功能形成了CompletableFuture。
CompletableFuture功能介紹 代碼final List
//獲取審核狀態
futures.add(CompletableFuture.runAsync(() -> task1(), executorService));
//用戶頭像
futures.add(CompletableFuture.runAsync(() -> task2(), executorService));
CompletableFuture.allOf(futures.toArray(new CompletableFuture[]{})).join();
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/72944.html
摘要:方法接收的是的實例,但是它沒有返回值方法是函數式接口,無參數,會返回一個結果這兩個方法是的升級,表示讓任務在指定的線程池中執行,不指定的話,通常任務是在線程池中執行的。該的接口是在線程使用舊的接口,它不允許返回值。 簡介 作為Java 8 Concurrency API改進而引入,本文是CompletableFuture類的功能和用例的介紹。同時在Java 9 也有對Completab...
摘要:方法接受一個生產者作為參數,返回一個對象,該對象完成異步執行后會讀取調用生產者方法的返回值。該方法接收一個對象構成的數組,返回由第一個執行完畢的對象的返回值構成的。 一、Future 接口 在Future中觸發那些潛在耗時的操作把調用線程解放出來,讓它能繼續執行其他有價值的工作,不再需要呆呆等待耗時的操作完成。打個比方,你可以把它想象成這樣的場景:你拿了一袋子衣服到你中意的干洗店去洗。...
摘要:中使用了提供的原生接口對自身的異步化做了改進。可以支持和兩種調用方式。實戰通過下面的例子,可以看出的最大好處特性。 showImg(https://segmentfault.com/img/remote/1460000020032427?w=1240&h=655); 前段時間工作上比較忙,這篇文章一直沒來得及寫,本文是閱讀《Java8實戰》的時候,了解到Java 8里已經提供了一個異步...
摘要:組合式異步編程最近這些年,兩種趨勢不斷地推動我們反思我們設計軟件的方式。第章中介紹的分支合并框架以及并行流是實現并行處理的寶貴工具它們將一個操作切分為多個子操作,在多個不同的核甚至是機器上并行地執行這些子操作。 CompletableFuture:組合式異步編程 最近這些年,兩種趨勢不斷地推動我們反思我們設計軟件的方式。第一種趨勢和應用運行的硬件平臺相關,第二種趨勢與應用程序的架構相關...
摘要:在這種方式中,主線程不會被阻塞,不需要一直等到子線程完成。主線程可以并行的執行其他任務。如果我們不想等待結果返回,我們可以把需要等待完成執行的邏輯寫入到回調函數中。任何立即執行完成那就是執行在主線程中嘗試刪除測試下。可以使用達成目的。 Java 8 有大量的新特性和增強如 Lambda 表達式,Streams,CompletableFuture等。在本篇文章中我將詳細解釋清楚Compl...
閱讀 888·2021-09-22 15:17
閱讀 1917·2021-09-22 15:06
閱讀 2211·2021-09-08 09:35
閱讀 5099·2021-09-01 11:43
閱讀 3476·2019-08-30 15:55
閱讀 2150·2019-08-30 12:48
閱讀 3150·2019-08-30 12:45
閱讀 1782·2019-08-29 17:31