C#에서 작업 병렬 처리는 작업을 나눕니다. 그런 다음 작업은 처리를 위해 별도의 스레드에 할당됩니다. .NET에는 코드를 병렬로 실행하기 위한 Thread, ThreadPool 및 Task와 같은 메커니즘이 있습니다. 병렬 처리를 위해 스레드 대신 C#의 작업을 사용하십시오.
작업은 자체 OS 스레드를 생성하지 않지만 TaskScheduler에 의해 실행됩니다.
작업을 만드는 방법을 살펴보겠습니다. 대리인을 사용하여 작업 시작 -
Task tsk = new Task(delegate { PrintMessage(); });
tsk.Start(); Task Factory를 사용하여 작업 시작 -
Task.Factory.StartNew(() => {Console.WriteLine("Welcome!"); }); 당신은 또한 람다를 사용할 수 있습니다 -
Task tsk = new Task( () => PrintMessage() ); tsk.Start();
작업을 시작하는 가장 기본적인 방법은 run() −
를 사용하는 것입니다.예시
using System;
using System.Threading.Tasks;
public class Example {
public static void Main() {
Task tsk = Task.Run(() => {
int a = 0;
for (a = 0; a <= 1000; a++) {}
Console.WriteLine("{0} loop iterations ends", a);
});
tsk.Wait();
}
} 출력
1001 loop iterations ends