C# asyncとawaitを使用して非同期処理を実行する
C#で、asyncとawaitを使用して非同期処理を実行するサンプルコードを記述してます。
環境
- OS windows10 pro 64bit
- Microsoft Visual Studio Community 2019 Version 16.7.1
asyncとawaitを使用
以下は、処理に10秒かかるメソッド「func1」と、3秒かかるメソッド「func2」を順次に実行せずに、「func1」を非同期に実行するコードとなります。
using System;
using System.Threading;
using System.Threading.Tasks;
namespace testapp
{
class Program
{
static async Task Main(string[] args)
{
Task<string> task = func1();
func2();
Console.WriteLine(task.Result);
Console.ReadLine();
}
static async Task<string> func1()
{
Console.WriteLine("func1開始 10秒待機");
await Task.Delay(10000); // 10秒待機
Console.WriteLine("func1終了 10秒経過");
return "test";
}
static void func2()
{
Console.WriteLine("func2開始 2秒待機");
Thread.Sleep(2000);
Console.WriteLine("func2終了 2秒経過");
}
}
}
実行結果
-
前の記事
C# numericUpDownを16進数表記に変更する 2021.08.24
-
次の記事
rails6 post時にjavascriptを実行する 2021.08.24
コメントを書く