C# Async与Await用法

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
 
namespace CloudLearning.UI
{
    class Program
    {
        static void Main(string[] args)
        {
            AsyncPrintHelloWorld();
            Console.ReadLine();
        }
 
        public async static void AsyncPrintHelloWorld()
        {
            Console.WriteLine("异步方法调用开始");  
            var result1 = TMothd1();
            var result2 = TMothd2();
            var result3 = TMothd3();
            Console.WriteLine("异步方法完成");
            int r1 = await result1;
            int r2= await result2;
            int r3 = await result3;
            Console.WriteLine("{0},{1},{2}", r1, r2, r3);
        }
 
        public async static Task<int> TMothd1()
        {
            return await Task.Factory.StartNew(() =>
            {
                Thread.Sleep(5 * 1000);
                Console.WriteLine("TMothd1 完成");
                return 1;
            });
        }
 
        public async static Task<int> TMothd2()
        {
            return await Task.Factory.StartNew(() =>
            {
                Thread.Sleep(10 * 1000);
                Console.WriteLine("TMothd2 完成");
                return 2;
            });
        }
        public async static Task<int> TMothd3()
        {
            return await Task.Factory.StartNew(() =>
            {
                Thread.Sleep(15 * 1000);
                Console.WriteLine("TMothd3 完成");
                return 3;
            });
        }
 
    }
}



原文链接:https://blog.csdn.net/lxrj2008/article/details/86492083

posted @ 2020-03-29 21:10  阿东123  阅读(399)  评论(0编辑  收藏  举报