首页 > Windows开发 > 详细

c#异步学习笔记

时间:2019-01-18 15:55:05      阅读:42      评论:0      收藏:0      [点我收藏+]

标签:write   nal   target   var   async   syn   when   cnblogs   blog   

如下代码。只需要异步的处理一个数据,不需要等处理完成后,进行后继的操作。可以不用Async来修饰方法

static void Main(string[] args)
{
  Test();
  Console.WriteLine("Main End");
  Console.Read();
}


static void Test()
{
  var task1 = Task.Run(() =>
  {
    Task.Delay(10000);
    Console.WriteLine("task1");
  });
  var task2 = Task.Run(() =>
  {
    Task.Delay(20000);
    Console.WriteLine("task2");
  });
}

但是如果期望在方法完成后,要执行一些操作,可以用await关键词,如果要用await关键词,就必须使用async来修饰方法。

static void Main(string[] args)
{
  Test();
  Console.WriteLine("Main End");
  Console.Read();
}


static async void Test()
{
  var task1 = Task.Run(() =>
  {
    Thread.Sleep(100);
    Console.WriteLine("task1");
  });
  var task2 = Task.Run(() =>
  {
    Thread.Sleep(500);
    Console.WriteLine("task2");
  });

  await Task.WhenAny(new Task[] { task1, task2 });
  Console.WriteLine("有一个任务完成");
  await Task.WhenAll(new Task[] { task1, task2 });
  Console.WriteLine("全部完成!");
}

异步相关内容:

  •   异常处理
  •   在调用方法中同步等待任务
  •   在异步方法中异步等待任务
  •   Task.Delay()暂停执行

内容链接:https://www.cnblogs.com/liqingwen/p/5866241.html

c#异步学习笔记

标签:write   nal   target   var   async   syn   when   cnblogs   blog   

原文:https://www.cnblogs.com/blueGao/p/10287910.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 designnerd.net 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号