Task用法之啟動方法執行個體

來源:互聯網
上載者:User

第一、基本使用

Thread,ThreadPool,Task的區別Task是.NET4.0加入的,跟線程池ThreadPool的功能類似,用Task開啟新任務時,會從線程池中調用線程,而Thread每次執行個體化都會建立一個新的線程。 如果是長時間的操作,請使用Task(Acton,TaskCreationOptions)建構函式中的TaskCreationOptions.LongRunning,暗示任務調度器,將這個線程放在非線程池上執行

第二、四種啟動方法

1)通過start啟動,new 一個Task,其中參數是一個Action
 class Program    {        static void Main(string[] args)        {            Task t = new Task(DoA);            t.Start();            Console.ReadKey();        }        static void DoA()        {            for (int i = 0; i < 100; i++)            {                Console.WriteLine("i={0}\n", i);            }        }    }

  

2)通過Run,直接運行,接受參數一個Action,返回對象是一個Task

 static void Main(string[] args)        {            Task.Run(() =>            {                for (int i = 0; i < 50; i++)                {                    Console.WriteLine("i={0}",i);                }            });            Console.ReadKey();        }

3)帶返回參數的線程

   Task<int> task = Task.Run<int>(() =>            {                int sum = 0;                for (int i = 0; i < 50; i++)                {                    sum += 1;                }                return sum;            });            int result = task.Result;            Console.WriteLine("運算結果是:{0}",result);//輸出50            Console.ReadKey();

4)通過Task.Factory

  Task t = Task.Factory.StartNew(() =>              {                  for (int i = 0; i < 10; i++)                  {                      Console.WriteLine("i={0}", i);                  }              });

  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.