Task.Yield 메서드

정의

대기할 때 현재 컨텍스트로 비동기적으로 전환되는 awaitable 작업을 만듭니다.Creates an awaitable task that asynchronously yields back to the current context when awaited.

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

대기할 때 대기 시의 현재 컨텍스트로 비동기적으로 전환될 컨텍스트입니다.A context that, when awaited, will asynchronously transition back into the current context at the time of the await. 현재 SynchronizationContext가 null이 아닌 경우 현재 컨텍스트로 취급됩니다.If the current SynchronizationContext is non-null, it is treated as the current context. 그렇지 않으면 현재 실행 중인 작업과 관련된 작업 스케줄러를 현재 컨텍스트로 취급 됩니다.Otherwise, the task scheduler that is associated with the currently executing task is treated as the current context.

설명

비동기 메서드에서를 사용 하 여 await Task.Yield(); 메서드가 비동기적으로 완료 되도록 할 수 있습니다.You can use await Task.Yield(); in an asynchronous method to force the method to complete asynchronously. 현재 동기화 컨텍스트 (개체)가 있는 경우 SynchronizationContext 메서드 실행의 나머지 부분이 해당 컨텍스트에 다시 게시 됩니다.If there is a current synchronization context (SynchronizationContext object), this will post the remainder of the method's execution back to that context. 그러나 컨텍스트는 보류 중일 수 있는 다른 작업을 기준으로이 작업의 우선 순위를 지정 하는 방법을 결정 합니다.However, the context will decide how to prioritize this work relative to other work that may be pending. 대부분의 UI 환경에서 UI 스레드에 있는 동기화 컨텍스트는 입력 및 렌더링 작업 보다 높은 컨텍스트에 게시 된 작업의 우선 순위를 지정 하는 경우가 많습니다.The synchronization context that is present on a UI thread in most UI environments will often prioritize work posted to the context higher than input and rendering work. 이러한 이유로 await Task.Yield(); UI의 응답성을 유지 하기 위해을 사용 하지 마십시오.For this reason, do not rely on await Task.Yield(); to keep a UI responsive. 자세한 내용은 .NET 블로그를 사용한 병렬 프로그래밍에서 system.threading.tasks.task.continuewith를 사용 하 여 유용한 추상화 항목을 참조 하세요.For more information, see the entry Useful Abstractions Enabled with ContinueWith in the Parallel Programming with .NET blog.

적용 대상