首页 > 代码库 > C#使用Task创建任务

C#使用Task创建任务

.NET 4 中 包含了新名称空间System.Threading.Task。它包含的类抽象出了线程的功能。使用Task类创建的任务是后台线程,所以在前台线程全部终止的时候,如果任务还没有全部执行万,就会被被动终止。

启动任务

  怎样启动一个任务?代码中我们首先要添加using System.Threading.Tasks;引用。我们可以使用TaskFactory类或Task类的构造函数和Start()方法。在启动任务时,会创建Task类的一个实例。首先我们看一段代码
 

using System;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace ConsoleTask
{
    class Program
    {
        static void Main(string[] args)
        {
            //使用TaskFactory创建一个任务
            TaskFactory tf = new TaskFactory();
            Task t1 = tf.StartNew(NewTask);
            //使用Task类de Factory创建一个任务
            Task t2 = Task.Factory.StartNew(NewTask);
            ///////////////////////////////////////
            Task t3 = new Task(NewTask);
            t3.Start();
            Task t4 = new Task(NewTask, TaskCreationOptions.PreferFairness);
            t4.Start();
            Thread.Sleep(1000);//因为任务是后台线程,所以我们这里阻塞主线程一秒钟来等待任务全部执行完成
        }
        static void NewTask()
        {
            Console.WriteLine("开始一个任务");
            Console.WriteLine("Task id:{0}",Task.CurrentId);
            Console.WriteLine("任务执行完成");
        }
    }
}

 

C#使用Task创建任务