Task.Yield 메서드

정의

대기 중인 경우 현재 컨텍스트로 비동기적으로 다시 생성하는 대기 가능한 작업을 만듭니다.

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

반품

대기하는 경우 await 시 현재 컨텍스트로 비동기적으로 다시 전환되는 컨텍스트입니다. 현재가 null이 아닌 경우 현재 SynchronizationContext 컨텍스트로 처리됩니다. 그렇지 않으면 현재 실행 중인 작업과 연결된 작업 스케줄러가 현재 컨텍스트로 처리됩니다.

설명

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

적용 대상