zoukankan      html  css  js  c++  java
  • async await

    1.BookDAL 有一个产生string 的方法

     public string GetTestString()
            {
                string sReturn = "";
                string[] sList = { "a", "b", "c", "d", "e", "f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z" };
                for (int i=1;i<6;i++)
                {
                    Thread.Sleep(1000);
                    Random r = new Random();
                    int n = r.Next(1, 26);
                    sReturn += sList[n];
                }
                return sReturn;
            }

    2. MVC HomeController Contact 调用, 跑完需要大概20秒

    public ActionResult Contact()
            {
                ViewBag.Start = DateTime.Now;
    
                BookService BookDAL = new BookService();
                string s1 = BookDAL.GetTestString();
                string s2 = BookDAL.GetTestString();
                string s3 = BookDAL.GetTestString();
                string s4 = BookDAL.GetTestString();
    
                ViewBag.sValue = s1 + "-" + s2 + "-" + s3 + "-" + s4;
    
                ViewBag.Message = "Your contact page.";
    
                ViewBag.End = DateTime.Now;
                return View();
            }

    3. MVC HomeController About 用async await,. 它跑完需要大概6秒。

       public async Task<ActionResult> About()
            {
                ViewBag.Start = DateTime.Now;
    
                ViewBag.Message = "Your application description page.";
    
                BookService BookDAL = new BookService();
    var s1 = GetStringAsync(BookDAL); var s2 = GetStringAsync(BookDAL); var s3 = GetStringAsync(BookDAL); var s4 = GetStringAsync(BookDAL); await Task.WhenAll(s1, s2, s3, s4); ViewBag.sValue = s1.Result + "-" + s2.Result + "-" + s3.Result + "-" + s4.Result; ViewBag.End = DateTime.Now; return View(); } public async Task<string> GetStringAsync(BookService BookDAL) { return await Task.Run(() => { return BookDAL.GetTestString(); }); }
  • 相关阅读:
    实验0 了解和熟悉操作系统一、目的和要求
    读后感
    有穷自动机自动转化
    文法分析
    词法分析随笔
    git操作笔记
    面试题汇总
    MYSQL数据库设计
    Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用
    invalid comparison:java.util.Date and java.lang.String
  • 原文地址:https://www.cnblogs.com/VirtualMJ/p/5183456.html
Copyright © 2011-2022 走看看