ホームページ  >  記事  >  バックエンド開発  >  C# におけるスレッドベースの並列処理

C# におけるスレッドベースの並列処理

王林
王林転載
2023-09-11 16:09:02729ブラウズ

C# 中基于线程的并行性

C# では、タスクは並列タスクに分割されます。その後、タスクは処理のために別のスレッドに割り当てられます。 .NET では、スレッド、スレッド プール、タスクのメカニズムを使用してコードを並列実行できます。並列処理を実現するには、C# でスレッドの代わりにタスクを使用します。

タスクは独自のオペレーティング システム スレッドを作成しませんが、TaskScheduler によって実行されます。

タスクの作成方法を見てみましょう。デリゲートを使用してタスクを開始する -

Task tsk = new Task(delegate { PrintMessage(); });
tsk.Start();

タスク ファクトリを使用してタスクを開始する -

Task.Factory.StartNew(() => {Console.WriteLine("Welcome!"); });

Lambda を使用することもできます -

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

以上がC# におけるスレッドベースの並列処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。