c#非同期プログラミング
および:非同期操作を簡素化async
await
非同期プログラミングにより、メインスレッドをブロックせずにコードを同時に実行できます。
async
バックグラウンドスレッドと比較してawait
独立した従来の背景スレッドとは異なり、およびは、バックグラウンドのコンパイラによって生成された
ステートマシンを使用します。非同期操作を追跡するこの状態マシンの進行により、バックグラウンド操作が完了したときにメインスレッドが実行され続けることができます。 async
await
例の詳細
例では、この例では、非同期操作が含まれているため、このメソッドは
このコード行は、dosomethingasyncとメインスレッドが結果を受け取った後に実行された後に完了します。これは、非同期操作が完了した後にのみ後のコードが実行されることを意味します。
and関数の分解async
およびint a = 1;
:await
を使用して実行プロセスをさらに示しています。
await
myMethodasyncは、バックグラウンドでlongrunningoperationAsyncの実行と開始を開始します。
async
メインスレッドは独立して実行され、LongrunningOperationAsyncはバックグラウンドで実行されます。 await
LongRunningOperationAsyncが完了すると、メインスレッドが再開され、割り込みから継続されます。
コンピューティング文字の結果は、longrunningOperationAsyncの結果を取得し、可変async
に保存します。 await
<code class="language-csharp">public async Task MyMethodAsync() { Task<int> longRunningTask = LongRunningOperationAsync(); // 这里可以执行其他独立的工作 int result = await longRunningTask; // 这里使用result } public async Task<int> LongRunningOperationAsync() { await Task.Delay(1000); return 1; }</code>
以上が「Async」と「待ち望」は、C#で非同期プログラミングを単純化するのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。