- タスクの作成と実行 タスクを作成して実行する方法を示します。
using System;
using System.Threading.Tasks;
class Program
{
static void Main()
{
Task task = Task.Run(() =>
{
// ここに非同期で実行したいコードを記述します
Console.WriteLine("タスクが実行されました");
});
// タスクの完了を待つ
task.Wait();
Console.WriteLine("タスクが完了しました");
}
}
- タスクの戻り値を扱う タスクが値を返す場合、その結果を受け取る方法を示します。
using System;
using System.Threading.Tasks;
class Program
{
static void Main()
{
Task<int> task = Task.Run(() =>
{
// ここに非同期で実行したいコードを記述し、結果を返します
return 42;
});
// タスクの完了を待ち、結果を取得する
int result = task.GetAwaiter().GetResult();
Console.WriteLine("タスクの結果: " + result);
}
}
- 複数のタスクを並行して実行する 複数のタスクを同時に実行し、完了を待つ方法を示します。
using System;
using System.Threading.Tasks;
class Program
{
static void Main()
{
Task[] tasks = new Task[3];
tasks[0] = Task.Run(() =>
{
Console.WriteLine("タスク1が実行されました");
});
tasks[1] = Task.Run(() =>
{
Console.WriteLine("タスク2が実行されました");
});
tasks[2] = Task.Run(() =>
{
Console.WriteLine("タスク3が実行されました");
});
// すべてのタスクの完了を待つ
Task.WaitAll(tasks);
Console.WriteLine("すべてのタスクが完了しました");
}
}
これらはC#でタスクを使用するための基本的な例です。タスクは非同期プログラミングの効果的な手法であり、並行性とパフォーマンスの向上に役立ちます。さまざまなタスクのオプションや制御フローを使用して、より高度な非同期操作を実装することもできます。