> 백엔드 개발 > C++ > `.GetAwaiter().GetResult()` 대 `Task.Result`: 각각을 언제 사용해야 합니까?

`.GetAwaiter().GetResult()` 대 `Task.Result`: 각각을 언제 사용해야 합니까?

Susan Sarandon
풀어 주다: 2025-01-24 11:51:10
원래의
219명이 탐색했습니다.

및 : 언제 사용됩니까? <..> 코드에서 비동기 메소드를 수행해야 할 필요성은 매우 일반적입니다. 이것은 `.GetAwaiter().GetResult()` vs. `Task.Result`: When Should You Use Each?
또는

속성에 의해 달성 될 수 있습니다. 그러나이 두 가지 방법의 미묘한 차이와 잠재적 결점을 이해하는 것이 필수적입니다.

Task.GetAwaiter().GetResult() Task.Result

전화는 결과를 직접 검색하거나 특이한 이상을 버리십시오. 이 동작은 및

보다 낫습니다. 원시 이상의 확산을 보장하고 에 캡슐화되지 않기 때문입니다. Task 그러나 그러나 .GetAwaiter().GetResult() 및 .Result와 같은 는 죽은 자물쇠와 스레드 풀 리소스가 소진 될 위험이 있음을 주목하는 것이 중요합니다.

Task.GetAwaiter().GetResult() 속성은 결과가 취소되면

를 던집니다. 그러나 비동기 작업에서 다른 믿을 수없는 이상은 에 포착되어 포장됩니다.

어떤 메소드를 사용 해야하는지 Task는 비정상적인 의사 소통의 장점이 있지만 가능한 한 비동기 작업의 동기식 폐쇄를 피하는 것이 좋습니다. 이 방법은 죽은 자물쇠와 자원으로 이어질 수 있습니다. 반대로, 메커니즘을 사용하여 이러한 문제를 피하기 위해 완전한 비동기 코드를 작성하십시오. .GetAwaiter().GetResult()

위 내용은 `.GetAwaiter().GetResult()` 대 `Task.Result`: 각각을 언제 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿