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;
            });
        }

    }
}

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页