Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#의 스레드 기반 병렬 처리

<시간/>

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