精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

Java多線程異步調用性能怎么調優

今天小編給大家分享一下Java多線程異步調用性能怎么調優的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

創新互聯建站是一家集網站建設,榮縣企業網站建設,榮縣品牌網站建設,網站定制,榮縣網站建設報價,網絡營銷,網絡優化,榮縣網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。

    概述

    大型電商公司的支付聚合服務都有這類的場景:

    • 調用校驗服務校驗待生成的訂單是否合法

    • 訂單服務生成訂單(校驗服務和訂單服務沒有依賴關系)

    • 調用1和2,支付服務實現支付核心的功能

    • 結合步驟1至3完成支付服務的聚合調用

    假如步驟1的耗時5秒,步驟2的耗時3秒,步驟3的耗時2秒,如果你是架構師,要求:

    1.請實現微服務的同步調用

    2.請實現微服務的異步調用(使用CompletableFuture實現)

    比較1和2的性能.

    同步調用和異步調用

    Java多線程異步調用性能怎么調優

    Future類圖

    Java多線程異步調用性能怎么調優

    Future的不足

    Java多線程異步調用性能怎么調優

    Future直接表述多個Future結果之間的依賴性,有一定的缺陷:

    1.將兩個異步計算合并為一個(第二個異步計算依賴于第一個的結果),這個用Future不太好實現.

    2.等待Future集合中的所有的任務都完成

    僅等待Future集合中最快結束的任務完成,并返回它的結果

    代碼

    Test
    public class Test {
        public static void main(String[] args) {
        	// 同步調用
            long start1 = System.currentTimeMillis();
            PaymentService.syncPay();
            System.out.println("同步支付耗時:" + (System.currentTimeMillis() - start1)+" ms");
            System.out.println("=========================");
            // 異步調用
            long start2 = System.currentTimeMillis();
            PaymentService.asyncPay();
            System.out.println("異步支付耗時:" + (System.currentTimeMillis() - start2)+" ms");
        }
    }
    PaymentService
    import java.util.concurrent.CompletableFuture;
    import java.util.concurrent.TimeUnit;
    public class PaymentService {
        /**
         * 異步支付的入口方法
         *
         * @return
         */
        public static boolean asyncPay() {
            //校驗
            CompletableFuture isValid = CompletableFuture.supplyAsync(() -> CheckService.isValid());
            //創建訂單
            CompletableFuture orderSum = CompletableFuture.supplyAsync(() -> OrderService.createOrder());
            //支付
            CompletableFuture money = CompletableFuture.supplyAsync(() -> basePay());
            // 上面三個都完成之后,再進行下面匿名內部類的代碼
            CompletableFuture.allOf(isValid, orderSum, money)
                    .thenRun(() -> System.out.println("完成異步支付"))
                    .join();
            return true;
        }
        /**
         * 同步支付的入口方法
         *
         * @return
         */
        public static boolean syncPay() {
            CheckService.isValid();
            OrderService.createOrder();
            basePay();
            System.out.println("同步支付成功");
            //假設支付成功
            return true;
        }
        public static int basePay() {
            int money = 1000;
            try {
                TimeUnit.SECONDS.sleep(2);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("支付");
            //假設支付成功
            return money;
        }
    }
    CheckService
    import java.util.concurrent.TimeUnit;
    public class CheckService {
    	/**
    	 * 返回true說明訂單流程才會往下走
    	 */
        public static boolean isValid() {
            System.out.println("訂單生成前,檢驗訂單是否合法" );
            try {
                TimeUnit.SECONDS.sleep(5);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            //假設訂單合法,通過校驗
            return true;
        }
    }
    OrderService
    import java.util.concurrent.TimeUnit;
    public class OrderService {
        public static int createOrder() {
            int orderSum=1;
            System.out.println("生成訂單" );
            try {
                TimeUnit.SECONDS.sleep(3);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            //假設訂單數量為1
            return orderSum;
        }
    }

    以上就是“Java多線程異步調用性能怎么調優”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注創新互聯行業資訊頻道。


    文章名稱:Java多線程異步調用性能怎么調優
    文章源于:http://m.jcarcd.cn/article/pihess.html
    主站蜘蛛池模板: 91社区福利 | 成人自拍视频 | 日韩视频在线免费 | 女同互添下 | 韩国午夜三级理论 | 天美传媒精品 | 日韩草逼 | 精品一二三区不卡 | 日本韩国欧| 精品动漫一区 | 97韩剧tv网 | 日韩免费观看 | 91国内在线观看 | 国自产偷 | 日韩精品国产一级 | 最新国产视频 | 91国产福利 | 国产精品剧情在线 | 青草视频线路 | 日韩免费高清专区 | 国产黃片在线观看 | 国产精品日 | 国产高清成免费视频 | 国产伦理一区二区 | 国产免费福利影院 | 成人精品久| www官网在线 | 日本国产一区 | 狠狠做深爱 | 国产午夜免费视频 | 成人自拍视频免费 | 女同视频一区 | 日韩国产欧美视 | 三级日韩 | 国产精品亚洲欧 | 91小视频在线 | 日韩新片在线观看网 | 精品中文高清欧 | 日韩天堂在线视 | 日韩熟女激情中 | 中文字幕乱码免费不 |