主要区别在于Task构造函数接受的参数是Action委托,而Task泛型<TResult>接受的是Func<TResult>委托。
Task(Action)
Task泛型<TResult>(Func<TResult>)
启动一个任务
tatic void Main(string[] args)
{
Task 泛型Task1 = new Task(() => Console.WriteLine("Task1"))
Task1.Start()
Console.ReadLine()
}
通过实例化一个Task对象,然后Start,这种方式中规中矩,但是实践中,通常采用更方便快捷的方式
Task泛型.Run(() => Console.WriteLine("Foo"))
这种方式直接运行了Task泛型,不像上面的方法还需要调用Start()
Task.泛型方法是Task类中的静态方法,接受的参数是委托。返回值是为该Task对象。