나는 방법을 가지고있다 :
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 ()를 시작합니다. 첫 번째 변형을 사용해야 할 때와 두 번째 변형을 사용해야 할 때는 언제입니까?
StartNew
기본적으로TaskScheduler.Current
스레드 풀일 수 있지만 UI 스레드 일 수도 있습니다.