首页 > 其他 > 详细

Task

时间:2017-03-26 21:36:07      阅读:198      评论:0      收藏:0      [点我收藏+]
        private async void Form1_Load(object sender, EventArgs e)
        {
            string x = await Test();
            MessageBox.Show(x);

        }
        async Task<string> Test()
        {
            await Task.Delay(5000);
            return "tese";
        }

  Task.Run Func 可以用返回值

  new Task(Action) 没有返回值

  ContinueWith((task)=>{}); //完成之后在执行

  加上 await 会异步等待

  task.GetAwaiter().GetResult(); //主线程会挂起等待

     await async配合使用

  IsCompleted 判断是否已完成 只读

     //用Task代替ThreadPool 

  //Parallel and plinq

  new Action(() =>
  {

    Task1,
           Task2,
           Task3

  })();

  var funcList = new List<Func<Task>>()
      {
           Task1,
           Task2,
           Task3
       };
   funcList.ForEach(async _ => await _());

jdd

 

Task

原文:http://www.cnblogs.com/ZJFeng/p/6623896.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!