언어

JoinableTaskFactory 클래스

정의

태스크에 애플리케이션의 주 스레드가 필요하고 주 스레드 자체가 작업 완료 시 차단될 수 있는 경우 교착 상태를 완화할 수 있는 비동기 작업을 시작하기 위한 팩터리입니다.

public ref class JoinableTaskFactory
[Windows::Foundation::Metadata::WebHostHidden]
class JoinableTaskFactory
public class JoinableTaskFactory
type JoinableTaskFactory = class
Public Class JoinableTaskFactory
상속
JoinableTaskFactory
파생

설명

자세한 내용은 다음을 참조 JoinableTaskContext하세요.

생성자

Name Description
JoinableTaskFactory(JoinableTaskCollection)

생성된 모든 작업을 지정된 컬렉션에 JoinableTaskFactory 추가하는 클래스의 새 인스턴스를 초기화합니다.

JoinableTaskFactory(JoinableTaskContext)

JoinableTaskFactory 클래스의 새 인스턴스를 초기화합니다.

속성

Name Description
Context

이 팩터리에서 속한 조인 가능한 작업 컨텍스트를 가져옵니다.

HangDetectionTimeout

동기적으로 차단할 때 중단이 발생했음을 나타내는 활동이 없는 시간 제한을 가져오거나 설정합니다.

UnderlyingSynchronizationContext

호스트의 주 스레드를 제어하는 SynchronizationContext 기본 스레드를 가져옵니다.

메서드

Name Description
Add(JoinableTask)

지정된 조인 가능한 작업을 해당 컬렉션에 추가합니다.

DisableProcessing()

앰비언트 JoinableTask동안 동기 대기하는 동안 필터링된 메시지 펌프가 실행되지 않도록 합니다.

IsWaitingOnLongRunningTask()

현재 joinableTask가 장기 실행 작업을 기다리고 있는지 확인합니다.

OnTransitionedToMainThread(JoinableTask, Boolean)

조인 가능한 작업이 주 스레드로의 전환을 완료할 때마다 발생합니다.

OnTransitioningToMainThread(JoinableTask)

조인 가능한 태스크가 주 스레드로의 전환을 요청했을 때 발생합니다.

PostToUnderlyingSynchronizationContext(SendOrPostCallback, Object)

주 스레드를 자유롭게 사용할 수 있는 경우 처리를 위해 지정된 기본 SynchronizationContext에 메시지를 게시합니다.

Run(Func<Task>, JoinableTaskCreationOptions)

호출 스레드를 동기적으로 차단하면서 지정된 비동기 메서드를 실행하여 완료합니다.

Run(Func<Task>)

호출 스레드를 동기적으로 차단하면서 지정된 비동기 메서드를 실행하여 완료합니다.

Run<T>(Func<Task<T>>, JoinableTaskCreationOptions)

호출 스레드를 동기적으로 차단하면서 지정된 비동기 메서드를 실행하여 완료합니다.

Run<T>(Func<Task<T>>)

호출 스레드를 동기적으로 차단하면서 지정된 비동기 메서드를 실행하여 완료합니다.

RunAsync(Func<Task>, JoinableTaskCreationOptions)

호출자의 스레드에서 비동기 대리자를 호출하고 비동기 메서드가 생성되면 호출자에게 다시 생성됩니다. 비동기 대리자는 비동기 메서드가 주 스레드가 필요한 경우 주 스레드가 비동기 메서드의 완료를 기다리는 동안 차단되는 경우 교착 상태를 완화하는 방식으로 호출됩니다.

RunAsync(Func<Task>, String, JoinableTaskCreationOptions)

태스크에 애플리케이션의 주 스레드가 필요하고 주 스레드 자체가 작업 완료 시 차단될 수 있는 경우 교착 상태를 완화할 수 있는 비동기 작업을 시작하기 위한 팩터리입니다.

RunAsync(Func<Task>)

호출자의 스레드에서 비동기 대리자를 호출하고 비동기 메서드가 생성되면 호출자에게 다시 생성됩니다. 비동기 대리자는 비동기 메서드가 주 스레드가 필요한 경우 주 스레드가 비동기 메서드의 완료를 기다리는 동안 차단되는 경우 교착 상태를 완화하는 방식으로 호출됩니다.

RunAsync<T>(Func<Task<T>>, JoinableTaskCreationOptions)

호출자의 스레드에서 비동기 대리자를 호출하고 비동기 메서드가 생성되면 호출자에게 다시 생성됩니다. 비동기 대리자는 비동기 메서드가 주 스레드가 필요한 경우 주 스레드가 비동기 메서드의 완료를 기다리는 동안 차단되는 경우 교착 상태를 완화하는 방식으로 호출됩니다.

RunAsync<T>(Func<Task<T>>, String, JoinableTaskCreationOptions)

태스크에 애플리케이션의 주 스레드가 필요하고 주 스레드 자체가 작업 완료 시 차단될 수 있는 경우 교착 상태를 완화할 수 있는 비동기 작업을 시작하기 위한 팩터리입니다.

RunAsync<T>(Func<Task<T>>)

호출자의 스레드에서 비동기 대리자를 호출하고 비동기 메서드가 생성되면 호출자에게 다시 생성됩니다. 비동기 대리자는 비동기 메서드가 주 스레드가 필요한 경우 주 스레드가 비동기 메서드의 완료를 기다리는 동안 차단되는 경우 교착 상태를 완화하는 방식으로 호출됩니다.

SwitchToMainThreadAsync(Boolean, CancellationToken)

교착 상태와 재진입을 모두 완화하는 방식으로 이 인스턴스가 초기화된 동기화 컨텍스트에서 연속이 실행되는 대기 가능 개체를 가져옵니다.

SwitchToMainThreadAsync(CancellationToken)

교착 상태와 재진입을 모두 완화하는 방식으로 주 스레드에서 연속이 실행되는 대기 대기자를 가져옵니다.

WaitSynchronously(Task)

지정된 작업을 완료하기 위해 호출 스레드를 동기적으로 차단합니다. 주 스레드에서 실행되는 경우 스레드가 절전 모드인 동안 적용 가능한 메시지 펌프가 표시되지 않습니다.

WaitSynchronouslyCore(Task)

지정된 작업을 완료하기 위해 호출 스레드를 동기적으로 차단합니다.

확장명 메서드

Name Description
Run(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task>, Nullable<TimeSpan>)

취소 가능한 비동기 작업이 완료될 때까지 UI(호출) 스레드를 차단합니다. 작업이 너무 오래 걸리면 선택적으로 취소할 수 있는 대기 대화 상자가 표시됩니다.

Run(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task>, Nullable<TimeSpan>)

비동기 작업이 완료될 때까지 호출(UI) 스레드를 차단합니다. 작업이 너무 오래 걸리면 선택적으로 취소할 수 있는 대기 대화 상자가 표시됩니다.

Run(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task>, Nullable<TimeSpan>)

비동기 작업이 완료될 때까지 호출(UI) 스레드를 차단합니다. 취소는 사용자에게 제공됩니다.

Run(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task>, Nullable<TimeSpan>)

비동기 작업이 완료될 때까지 호출(UI) 스레드를 차단합니다. 취소는 사용자에게 제공되지 않습니다.

Run<T>(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task<T>>, Nullable<TimeSpan>)

취소 가능한 비동기 작업이 완료될 때까지 UI(호출) 스레드를 차단합니다. 작업이 너무 오래 걸리면 선택적으로 취소할 수 있는 대기 대화 상자가 표시됩니다.

Run<T>(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task<T>>, Nullable<TimeSpan>)

비동기 작업이 완료될 때까지 호출(UI) 스레드를 차단합니다. 작업이 너무 오래 걸리면 선택적으로 취소할 수 있는 대기 대화 상자가 표시됩니다.

Run<T>(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task<T>>, Nullable<TimeSpan>)

비동기 작업이 완료될 때까지 호출(UI) 스레드를 차단합니다. 취소는 사용자에게 제공됩니다.

Run<T>(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task<T>>, Nullable<TimeSpan>)

비동기 작업이 완료될 때까지 호출(UI) 스레드를 차단합니다. 취소는 사용자에게 제공되지 않습니다.

RunAsync(JoinableTaskFactory, VsTaskRunContext, Func<Task>)

비동기적으로 실행될 수 있지만 나중에 동기적으로 완료(대기)될 수 있도록 비동기 메서드의 호출을 래핑합니다.

RunAsync<T>(JoinableTaskFactory, VsTaskRunContext, Func<Task<T>>)

비동기적으로 실행될 수 있지만 나중에 동기적으로 완료(대기)될 수 있도록 비동기 메서드의 호출을 래핑합니다.

RunAsyncAsVsTask<T>(JoinableTaskFactory, VsTaskRunContext, Func<CancellationToken,Task<T>>)

취소 가능한 비동기 작업을 추적하는 IVsTask를 만듭니다.

StartOnIdle(JoinableTaskFactory, Action, VsTaskRunContext)

호출자에서 UI 스레드에 대한 클레임을 상속하지 않고 UI 스레드에서 백그라운드 실행을 위해 대리자를 예약합니다.

StartOnIdle(JoinableTaskFactory, Func<Task>, VsTaskRunContext)

호출자에서 UI 스레드에 대한 클레임을 상속하지 않고 UI 스레드에서 백그라운드 실행을 위해 대리자를 예약합니다.

WithPriority(JoinableTaskFactory, Dispatcher, DispatcherPriority)

JoinableTaskFactory 지정된 Dispatcher 일정과 DispatcherPriority함께 작동하는 일정을 만듭니다.

WithPriority(JoinableTaskFactory, VsTaskRunContext)

JoinableTaskFactory 지정된 Visual Studio UI 스레드 우선 순위를 사용하여 해당 일정을 만듭니다.

적용 대상

스레드 보안

이 형식은 모든 멤버에 대해 스레드로부터 안전합니다.