• Task.Run 和Task.Factory.StartNew 区别


    在线程里,.Net Framework 4.0开始支持Task.Factory.StartNew,.Net Framework 4.5后开始支持Task.Run。

    Task.Factory.StartNew经过简化成了Task.Run,注意的是Factory.StartNew的方法参数种类更丰富,可以完成多样的需求。

    在选择上,如果创建的线程需要长时间运行的话那就选择Task.Factory.StartNew。

    一:使用

    Task.Run(() =>{......});
    Task.Factory.StartNew(() =>{......});

    二:扩展(等待线程)

     await:目的是创建的线程完成后其他的线程才能继续执行。

    private static async void NewTask() //只能是用在异步的方法中,使用时配合async。
    { 
      await Task.Run(() => //Task.Factory.StartNew同样适用  
      { 
         Console.WriteLine("创建的线程:" + Thread.CurrentThread.ManagedThreadId);
      }); 
    }

    也可以这么使用:

     var newTask = Task.Run(() =>
     {
          Console.WriteLine("进入 线程" + Thread.CurrentThread.ManagedThreadId);
     });
    Task.WaitAll(newTask);
  • 相关阅读:
    要加班了!
    项目经理的职责[转]
    用例图(User Case)
    c# 获取收藏夹目录到树型控件
    活动图(Activity Diagram)
    switch case重构事例[转]
    iframe 语法小结
    CSS入门
    Net中几种不同方式的文件下载
    网页效果集合
  • 原文地址:https://www.cnblogs.com/HansZimmer/p/11547304.html
Copyright © 2020-2023  润新知