await
예제 코드 세부 사항 및 의 작업 방법을 보여주기 위해 제공된 코드 조각을 분석하자. 행동 설명
메소드는 비동기 실행을 가능하게하기 위해 async
로 표시됩니다. await
는 기본 스레드를 차단하지 않는 비동기적인 작업입니다.
는 가 완료 될 때까지 의 실행을 유발합니다.
일단 가 완료되면, 기본 스레드는 실행을 재개하고의 결과를 에 할당합니다. async
await
및
<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>
및 를 사용할 때, 컴파일러는 비동기 상태 기계를 생성합니다. 이 상태 머신 관리 작업의 장착 및 복구를 통해 비동기 작업은 단순화 된 방식으로 비동기 작업을 작성하고 수행 할 수 있습니다.
비동기 및 대기의 장점
위 내용은 C#에서 Async를 사용하고 어떻게 기다려야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!