Task.Yield 메서드

정의

대기할 때 현재 컨텍스트로 비동기적으로 전환되는 awaitable 작업을 만듭니다.

public:
 static System::Runtime::CompilerServices::YieldAwaitable Yield();
public static System.Runtime.CompilerServices.YieldAwaitable Yield ();
static member Yield : unit -> System.Runtime.CompilerServices.YieldAwaitable
Public Shared Function Yield () As YieldAwaitable

반환

YieldAwaitable

대기할 때 대기 시의 현재 컨텍스트로 비동기적으로 전환될 컨텍스트입니다. 현재 SynchronizationContext가 null이 아닌 경우 현재 컨텍스트로 취급됩니다. 그렇지 않으면 현재 실행 중인 작업과 관련된 작업 스케줄러를 현재 컨텍스트로 취급 됩니다.

설명

비동기 메서드에서 메서드 await Task.Yield(); 를 강제로 비동기적으로 완료할 수 있습니다. 현재 동기화 컨텍스트(SynchronizationContext 개체)가 있는 경우 메서드 실행의 나머지 부분을 해당 컨텍스트에 다시 게시합니다. 그러나 컨텍스트는 보류 중인 다른 작업에 비해 이 작업의 우선 순위를 지정하는 방법을 결정합니다. 대부분의 UI 환경에서 UI 스레드에 있는 동기화 컨텍스트는 종종 입력 및 렌더링 작업보다 컨텍스트에 게시된 작업의 우선 순위를 지정합니다. 따라서 UI 응답성을 유지하는 데 의존 await Task.Yield(); 하지 마세요. 자세한 내용은 .NET을 사용한 병렬 프로그래밍 블로그에서 ContinueWith를 사용하여 사용할 수 있는 유용한 추상화 항목을 참조하세요.

적용 대상