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 サイトの他の関連記事を参照してください。