zoukankan      html  css  js  c++  java
  • 一个单元测试 学习 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操作。

  • 相关阅读:
    网络应用框架Apache MINA 一个应用样例(转)
    Linux安装JDK详细步骤(转)
    MySQL主从复制配置
    linux IP 设置
    Log4j的应用实例
    linux 远程复制
    MySQL外部访问配置
    Camshift算法2
    Canny边缘检测
    cvCopy()和cvCloneImage()的区别
  • 原文地址:https://www.cnblogs.com/duanweishi/p/4679799.html
Copyright © 2011-2022 走看看