ホームページ > バックエンド開発 > C++ > いつ、どのようにasyncを使用し、C#で待つ必要がありますか?

いつ、どのようにasyncを使用し、C#で待つ必要がありますか?

Linda Hamilton
リリース: 2025-02-02 18:36:09
オリジナル
697 人が閲覧しました

When and How Should You Use Async and Await in C#?

および

async awaitの使用のタイミングと方法

asyncを理解し、待ち望んでいます

in c#、は、強力なキーワードを強化し、非同期タスクの実行を促進します。それらを使用することは、非同期状態マシンと呼ばれる異なるメカニズムを使用するため、背景スレッドの作成と同じではありません。

例コードの詳細asyncawait

提供されたコードフラグメントを分析して、

の作業方法を実証しましょう。

行動の説明asyncawait

<code class="language-csharp">private async void button1_Click(object sender, EventArgs e)
{
    Task<int> access = DoSomethingAsync();
    // 此处执行与任务无关的逻辑

    int a = 1; // 立即执行,因为它不依赖于 DoSomethingAsync()

    int x = await access; // 等待 DoSomethingAsync() 完成
}

async Task<int> DoSomethingAsync()
{
    await Task.Delay(5000); // 使线程休眠 5 秒
    return 1;
}</code>
ログイン後にコピー
この方法は、非同期実行を有効にするために

としてマークされています。 は、メインスレッドをブロックしない非同期タスクです。

    バックグラウンドで実行すると、独立したロジックを実行できます。
  1. button1_Clickは、asyncが完了するまで
  2. の実行を引き起こします。
  3. DoSomethingAsync() が完了すると、メインスレッドは実行を再開し、
  4. の結果を
  5. に割り当てます。 DoSomethingAsync()
  6. await access; およびbutton1_ClickメカニズムDoSomethingAsync()
  7. およびDoSomethingAsync()を使用すると、コンパイラは非同期状態マシンを生成します。この州のマシン管理タスクの取り付けと回復により、非同期操作は、単純化された方法で非同期操作を書き込み、実行できます。 await x asyncとawaingの利点 コードの読みやすさの向上

ブロックのメインスレッドを防止しますasync UIの応答能力が強化されたawait

以上がいつ、どのようにasyncを使用し、C#で待つ必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート