• 一个单元测试 学习 aysnc await


    using System;
    using System.Threading.Tasks;
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    
    namespace ypp.tests
    {
        [TestClass]
        public class AysncTest
        {
            [TestMethod]
            public  void TestMethod1()
            {
                Console.WriteLine("testStart:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm ss"));
                var xx = GetNick();
    
                Console.WriteLine("testEnd:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm ss"));
                
              
                //xx();
            }
    
            public async Task<string> GetNick()
            {
                return await Task.Run(() =>
                {
                    //等待10秒
                    System.Threading.Thread.Sleep(1000 * 10);
                    var strNow = DateTime.Now.ToString("yyyy-MM-dd HH:mm ss");
                    Console.WriteLine("NotifyChange:" + strNow);
                    return strNow;
                });
            }
    
            
        }
    }

    输出结果:

    简单说明:

    1. async 用来标记 该方式是否 支持异步( 如果方法体内没有 await 的话,则和正常同步方法一样),方法体内要有 await才能起到 异步效果 await==async wait

    2. 当这么写的时候 会忽略异步 直接同步执行

            [TestMethod]
            public  void TestMethod1()
            {
                Console.WriteLine("testStart:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm ss"));
                var xx = GetNick().Result;
    
                Console.WriteLine("testEnd:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm ss"));
                
              
                //xx();
            }

    从逐渐剖析Async中发现,Net提供的异步方式基本上一脉相承的,如:
    1. net4.5的Async,抛去语法糖就是Net4.0的Task+状态机。 
    2. net4.0的Task, 退化到3.5即是(Thread、ThreadPool)+实现的等待、取消等API操作。

  • 相关阅读:
    旋转加载loading和点点加载loadingdemo
    css 点点加载demo
    gulp——myself配置
    AngularJS官网seed目录结构
    CSS content换行技术实现字符animation loading效果
    gulp入门与一些基本设置
    css 图标 旋转中
    【图文教程】WebStorm下使用Github下载以及上传代码
    gulp-uglify的使用
    面试题 ——— 二维数组的查找
  • 原文地址:https://www.cnblogs.com/duanweishi/p/4679799.html
Copyright © 2020-2023  润新知