我有方法:
private static void Method()
{
Console.WriteLine("Method() started");
for (var i = 0; i < 20; i++)
{
Console.WriteLine("Method() Counter = " + i);
Thread.Sleep(500);
}
Console.WriteLine("Method() finished");
}
我想在一个新的任务中开始这个方法。
我可以像这样开始新的任务
var task = Task.Factory.StartNew(new Action(Method));
或者这个
var task = Task.Run(new Action(Method));
但是Task.Run()
和Task.Factory.StartNew()
之间有什么区别吗?它们都在使用ThreadPool,并在创建Task实例后立即启动Method()。什么时候用第一种,什么时候用第二种?