VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • C#教程之任务TASK

为什么要使用任务?

上一篇博客中提到了线程池ThreadPool,可以调用QueueUserWorkItem方法来发起一次异步的操作。但是这个技术存在许多限制,最大的问题是没有一个内建的机制让你知道操作在什么时候完成,也没有一个机制在操作完成时获得一个返回值。

为了克服这些限制,微软引入了Task的概念。

怎么简单的使用任务?

例如:在开始任务之后,等待它完成并获得结果。

class Program
{
    static void Main(string[] args)
     {
       Task<Int32> t = new Task<int>(n=>Sum((int)n),1000);
       t.Start();
       t.Wait();//调用wait方法,线程会阻塞,直到Task运行结束为止。
       Console.WriteLine("The Sum is :"+t.Result);
       Console.ReadLine();
     }
    private static int Sum(int n)
     {
       int sum = 0;
       for (; n > 0;n-- )
      {
        sum += n; 
      }
      Thread.Sleep(3000);//等待一下 便于查看测试结果
      return sum;
      }
}


相关教程