-비동기 프로그래밍의 주요 차이점에 대한 설명 및
await Task.Run(); return;
키워드를 영리하게 사용하면 코드의 가독성과 성능을 크게 향상시킬 수 있습니다. 그러나 미묘한 질문이 나타납니다. return Task.Run()
와 사이에는 근본적인 차이가 있습니까? 이 문제를 명확히하기 위해이 두 가지 방법의 작업 세부 사항에 대해 설명합니다.
async
, , await
또는 await Task.Run(); return;
를 통해 return Task.Run() 전에 수면 상태를 관찰합니다. 비정상이 방법의 동기화 부분에서 비롯된 경우에도 상황이 발생합니다.
> 가 함께 로 호출되면 출력됩니다 :
비동기 및 비 스테프의 실행 Task
await task
동기 컨텍스트의 영향 task.Wait()
task.Result
task.GetAwaiter().GetResult()
의 선택은 필요한 비정상적인 의사 소통 동작, 비동기 및 비 종종 시행, 동기식 컨텍스트 고려 사항에 따라 다릅니다. 전자는 일반적으로보다 정확한 비정상적인 처리 및 올바른 동기화 컨텍스트 관리에 더 적합한 반면, 후자는 경우에 따라 코드 구조를 단순화 할 수 있지만 잠재적 인 트랩을 피하기 위해주의해서 사용해야합니다. Task
위 내용은 `await task.run ()의 주요 차이점은 무엇입니까? 반환;`및`return task.run ()`비동기 프로그래밍에서?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!