У меня есть метод:
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 и запускают метод() сразу после создания экземпляра задачи. Когда мы должны использовать первый вариант и второй?