e媒网络

一切皆可能 e媒网络 http://www.eMay.net

博客园 首页 新随笔 联系 订阅 管理
  153 随笔 :: 2 文章 :: 1 评论 :: 61500 阅读
复制代码
using System;
using System.Threading;
using System.Threading.Tasks;

namespace AsyncAwaitDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine($"a1,主线程开始,线程Id:{Thread.CurrentThread.ManagedThreadId}");
            TestAsync1();
            Console.WriteLine($"a2,主线程开始,线程Id:{Thread.CurrentThread.ManagedThreadId}");
            Console.ReadKey();
        }
        public static async Task TestAsync1()
        {
            Console.WriteLine($"b1,异步方法开始,线程Id:{Thread.CurrentThread.ManagedThreadId}");
            await  TestAsync2();
            Console.WriteLine($"b2,异步方法开始,线程Id:{Thread.CurrentThread.ManagedThreadId}");
        }
        public static async Task TestAsync2()
        {
            Console.WriteLine($"c1,异步方法开始,线程Id:{Thread.CurrentThread.ManagedThreadId}");
            await Task.Run(()=>
            {
                Thread.Sleep(1000);
                Console.WriteLine($"c2,异步方法执行,线程Id:{Thread.CurrentThread.ManagedThreadId}");
            });
            Console.WriteLine($"c3,异步方法结束,线程Id:{Thread.CurrentThread.ManagedThreadId}");
        }
    }
}
复制代码

 

posted on   e媒网络技术团队  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示