c#비동기 프로그래밍 메소드의 반환 값 : 또는 ?
비동기 프로그래밍에 c#을 사용할 때 메소드는 또는 를 반환 할 수 있습니다. 이 선택은 메소드의 동작과 통화 코드와 상호 작용하는 방식을 결정하기 때문에 필수적입니다.
반환시기
일반적으로, 콜 당사자에게 비동기 조작의 진행 상황이나 결과를 원할 때 를 반환해야합니다. 이를 통해 발신자는 작업을 기다리고 완료된 후에도 계속 수행 할 수 있습니다. 로 돌아 가면 비정상적인 처리 및 와 같은 비동기 모드를 사용할 수도 있으며, 이는 여러 작업의 진행 상황을 모니터링 할 수 있습니다. async
반환시기
Task
로 반환하기에 적합한 유일한 상황은 예를 들어 이벤트 처리 프로그램 또는 UI 콜백에서 void
반환 유형이 명확하게 필요할 때입니다. 이 경우 발신자는이 방법을 기다릴 수 없으며 및
키워드는 필요하지 않습니다.
상단 -level 메서드를 피하십시오
의 방법은 특별한 의미를 가지고 있으며주의해서 사용해야합니다. 그것들은 최고 비동기 연산을 나타내며, 작업을 반환하는 방법과 비교하여 비정상적인 치료 규칙이 다릅니다. 상단 방법의 이상은 가공되지 않은 이상으로 간주되며 우발적 인 행동으로 이어질 수 있습니다. async
예를 들어 다음 코드를 고려하십시오
Task
이 경우 void
를 사용하는 것은 불필요하며 다음과 같은 것이기 때문에 문제가있을 수 있습니다.
콜 당사자 가이 방법을 기다리고 진행 상황을 모니터링하는 것을 방지합니다.
이 방법의 이상은 처리되지 않으며 비정상적인 응용 행동을 유발할 수 있습니다. Task
올바른 비정상적인 치료를 보장하고 비동기 연산을 추적하고 관리 할 수있는 능력을 유지하기 위해 메소드 및 키워드를 사용하는 것이 가장 좋습니다. Task
위 내용은 C#에서 Async/Await : 작업 대 비극을 반환 할시기?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!