다음을 통해 공유


Task<TResult> 클래스

정의

값을 반환할 수 있는 비동기 작업을 나타냅니다.

generic <typename TResult>
public ref class Task : System::Threading::Tasks::Task
public class Task<TResult> : System.Threading.Tasks.Task
type Task<'Result> = class
    inherit Task
Public Class Task(Of TResult)
Inherits Task

형식 매개 변수

TResult

Task<TResult>생성되는 결과의 형식입니다.

상속
Task<TResult>

설명

Task<TResult> 클래스는 값을 반환하고 일반적으로 비동기적으로 실행되는 단일 작업을 나타냅니다. Task<TResult> 개체는 .NET Framework 4에 처음 도입된 작업 기반 비동기 패턴 중앙 구성 요소 중 하나입니다. Task<TResult> 개체에서 수행하는 작업은 일반적으로 주 애플리케이션 스레드에서 동기적으로 실행되지 않고 스레드 풀 스레드에서 비동기적으로 실행되므로 IsCanceled, IsCompletedIsFaulted 속성뿐만 아니라 Status 속성을 사용하여 작업의 상태를 확인할 수 있습니다. 가장 일반적으로 람다 식은 태스크가 수행할 작업을 지정하는 데 사용됩니다.

Task<TResult> 인스턴스는 다양한 방법으로 만들 수 있습니다. .NET Framework 4.5부터 사용할 수 있는 가장 일반적인 방법은 정적 Task.Run<TResult>(Func<TResult>) 또는 Task.Run<TResult>(Func<TResult>, CancellationToken) 메서드를 호출하는 것입니다. 이러한 메서드는 기본값을 사용하고 추가 매개 변수를 획득하지 않고 작업을 시작하는 간단한 방법을 제공합니다. 다음 예제에서는 Task.Run<TResult>(Func<TResult>) 메서드를 사용하여 반복하는 작업을 시작한 다음 루프 반복 수를 표시합니다.

using System;
using System.Threading.Tasks;

public class Example
{
   public static void Main()
   {
      var t = Task<int>.Run( () => {
                                      // Just loop.
                                      int max = 1000000;
                                      int ctr = 0;
                                      for (ctr = 0; ctr <= max; ctr++) {
                                         if (ctr == max / 2 && DateTime.Now.Hour <= 12) {
                                            ctr++;
                                            break;
                                         }
                                      }
                                      return ctr;
                                    } );
      Console.WriteLine("Finished {0:N0} iterations.", t.Result);
   }
}
// The example displays output like the following:
//        Finished 1,000,001 loop iterations.
Imports System.Threading.Tasks

Module Example
   Public Sub Main()
      Dim t As Task(Of Integer) = Task.Run(Function()
                                  Dim max As Integer = 1000000
                                  Dim ctr As Integer
                                  For ctr = 0 to max
                                     If ctr = max \ 2 And Date.Now.Hour <= 12 Then
                                        ctr += 1
                                        Exit For
                                     End If
                                  Next
                                  Return ctr
                               End Function)
      Console.WriteLine("Finished {0:N0} iterations.", t.Result)
   End Sub
End Module
' The example displays the following output:
'       Finished 1,000,001 loop iterations

.NET Framework 4에서 작업을 시작하는 가장 일반적인 방법은 정적 TaskFactory.StartNew 또는 TaskFactory<TResult>.StartNew 메서드를 호출하는 것입니다. Task.Factory 속성은 TaskFactory 개체를 반환하고 Task<TResult>.Factory 속성은 TaskFactory<TResult> 개체를 반환합니다. StartNew 메서드의 오버로드를 사용하면 인수를 전달하고, 작업 만들기 옵션을 정의하고, 작업 스케줄러를 지정할 수 있습니다. 다음 예제에서는 TaskFactory<TResult>.StartNew(Func<TResult>) 메서드를 사용하여 작업을 시작합니다. 이전 예제의 코드와 기능적으로 동일합니다.

using System;
using System.Threading.Tasks;

public class Example
{
   public static void Main()
   {
      var t = Task<int>.Factory.StartNew( () => {
                                      // Just loop.
                                      int max = 1000000;
                                      int ctr = 0;
                                      for (ctr = 0; ctr <= max; ctr++) {
                                         if (ctr == max / 2 && DateTime.Now.Hour <= 12) {
                                            ctr++;
                                            break;
                                         }
                                      }
                                      return ctr;
                               } );
      Console.WriteLine("Finished {0:N0} iterations.", t.Result);
   }
}
// The example displays the following output:
//        Finished 1000001 loop iterations
Imports System.Threading.Tasks

Module Example
   Public Sub Main()
      Dim t = Task(Of Integer).Factory.StartNew(Function()
                                  Dim max As Integer = 1000000
                                  Dim ctr As Integer
                                  For ctr = 0 to max
                                     If ctr = max \ 2 And Date.Now.Hour <= 12 Then
                                       ctr += 1
                                       Exit For
                                     End If
                                  Next
                                  Return ctr
                               End Function)
      Console.WriteLine("Finished {0:N0} iterations.", t.Result)
   End Sub
End Module
' The example displays output like the following:
'       Finished 1,000,001 iterations

자세한 예제는 작업 기반 비동기 프로그래밍참조하세요.

Task<TResult> 클래스는 작업을 초기화하지만 실행을 예약하지 않는 생성자도 제공합니다. 성능상의 이유로 Task.RunTask.Factory.StartNew 메서드는 계산 작업을 만들고 예약하기 위한 기본 메커니즘이지만 태스크 만들기 및 일정을 구분해야 하는 시나리오의 경우 생성자를 사용할 수 있으며 작업의 Start 메서드를 사용하여 나중에 작업을 실행하도록 예약할 수 있습니다.

.NET Framework 4.6을 대상으로 하는 데스크톱 앱부터 작업을 만들고 호출하는 스레드의 문화권이 스레드 컨텍스트의 일부가 됩니다. 즉, 태스크가 실행되는 스레드의 현재 문화권에 관계없이 태스크의 현재 문화권은 호출 스레드의 문화권입니다. .NET Framework 4.6 이전 버전의 .NET Framework를 대상으로 하는 앱의 경우 태스크의 문화권은 태스크가 실행되는 스레드의 문화권입니다. 자세한 내용은 CultureInfo 항목의 "문화권 및 작업 기반 비동기 작업" 섹션을 참조하세요. 스토어 앱은 Windows 런타임을 따라 기본 문화권을 설정하고 가져옵니다.

값을 반환하지 않는 작업의 경우 Task 클래스를 사용합니다. C# 7.0부터 참조 형식이 아닌 값 형식인 더 간단한 작업의 경우 System.Threading.Tasks.ValueTask<TResult> 구조를 사용합니다.

생성자

Task<TResult>(Func<Object,TResult>, Object)

지정된 함수 및 상태를 사용하여 새 Task<TResult> 초기화합니다.

Task<TResult>(Func<Object,TResult>, Object, CancellationToken)

지정된 작업, 상태 및 옵션을 사용하여 새 Task<TResult> 초기화합니다.

Task<TResult>(Func<Object,TResult>, Object, CancellationToken, TaskCreationOptions)

지정된 작업, 상태 및 옵션을 사용하여 새 Task<TResult> 초기화합니다.

Task<TResult>(Func<Object,TResult>, Object, TaskCreationOptions)

지정된 작업, 상태 및 옵션을 사용하여 새 Task<TResult> 초기화합니다.

Task<TResult>(Func<TResult>)

지정된 함수를 사용하여 새 Task<TResult> 초기화합니다.

Task<TResult>(Func<TResult>, CancellationToken)

지정된 함수를 사용하여 새 Task<TResult> 초기화합니다.

Task<TResult>(Func<TResult>, CancellationToken, TaskCreationOptions)

지정된 함수 및 만들기 옵션을 사용하여 새 Task<TResult> 초기화합니다.

Task<TResult>(Func<TResult>, TaskCreationOptions)

지정된 함수 및 만들기 옵션을 사용하여 새 Task<TResult> 초기화합니다.

속성

AsyncState

Task 만들 때 제공된 상태 개체를 가져오거나, 제공되지 않은 경우 null을 가져옵니다.

(다음에서 상속됨 Task)
CreationOptions

이 작업을 만드는 데 사용되는 TaskCreationOptions 가져옵니다.

(다음에서 상속됨 Task)
Exception

Task 조기에 종료된 AggregateException 가져옵니다. Task 성공적으로 완료되었거나 아직 예외를 throw하지 않은 경우 null반환됩니다.

(다음에서 상속됨 Task)
Factory

Task<TResult> 인스턴스를 만들고 구성하기 위한 팩터리 메서드를 가져옵니다.

Id

Task 인스턴스의 ID를 가져옵니다.

(다음에서 상속됨 Task)
IsCanceled

Task 인스턴스가 취소되어 실행을 완료했는지 여부를 가져옵니다.

(다음에서 상속됨 Task)
IsCompleted

작업이 완료되었는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Task)
IsCompletedSuccessfully

작업이 완료될 때 실행되었는지 여부를 가져옵니다.

(다음에서 상속됨 Task)
IsFaulted

처리되지 않은 예외로 인해 Task 완료되었는지 여부를 가져옵니다.

(다음에서 상속됨 Task)
Result

Task<TResult>결과 값을 가져옵니다.

Status

이 작업의 TaskStatus 가져옵니다.

(다음에서 상속됨 Task)

메서드

ConfigureAwait(Boolean)

Task<TResult>기다리는 데 사용되는 awaiter를 구성합니다.

ConfigureAwait(Boolean)

Task기다리는 데 사용되는 awaiter를 구성합니다.

(다음에서 상속됨 Task)
ConfigureAwait(ConfigureAwaitOptions)

Task기다리는 데 사용되는 awaiter를 구성합니다.

ConfigureAwait(ConfigureAwaitOptions)

Task기다리는 데 사용되는 awaiter를 구성합니다.

(다음에서 상속됨 Task)
ContinueWith(Action<Task,Object>, Object)

호출자가 제공한 상태 정보를 수신하고 대상 Task 완료되면 실행되는 연속을 만듭니다.

(다음에서 상속됨 Task)
ContinueWith(Action<Task,Object>, Object, CancellationToken)

호출자가 제공한 상태 정보 및 취소 토큰을 수신하고 대상 Task 완료되면 비동기적으로 실행되는 연속 작업을 만듭니다.

(다음에서 상속됨 Task)
ContinueWith(Action<Task,Object>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler)

호출자가 제공한 상태 정보 및 취소 토큰을 수신하고 대상 Task 완료될 때 실행되는 연속 작업을 만듭니다. 연속 작업은 지정된 조건 집합에 따라 실행되며 지정된 스케줄러를 사용합니다.

(다음에서 상속됨 Task)
ContinueWith(Action<Task,Object>, Object, TaskContinuationOptions)

호출자가 제공한 상태 정보를 수신하고 대상 Task 완료되면 실행되는 연속을 만듭니다. 연속은 지정된 조건 집합에 따라 실행됩니다.

(다음에서 상속됨 Task)
ContinueWith(Action<Task,Object>, Object, TaskScheduler)

호출자가 제공한 상태 정보를 수신하고 대상 Task 완료되면 비동기적으로 실행되는 연속을 만듭니다. 연속 작업은 지정된 스케줄러를 사용합니다.

(다음에서 상속됨 Task)
ContinueWith(Action<Task<TResult>,Object>, Object)

상태 정보를 전달하고 대상 Task<TResult> 완료될 때 실행되는 연속을 만듭니다.

ContinueWith(Action<Task<TResult>,Object>, Object, CancellationToken)

대상 Task<TResult> 완료되면 실행되는 연속을 만듭니다.

ContinueWith(Action<Task<TResult>,Object>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler)

대상 Task<TResult> 완료되면 실행되는 연속을 만듭니다.

ContinueWith(Action<Task<TResult>,Object>, Object, TaskContinuationOptions)

대상 Task<TResult> 완료되면 실행되는 연속을 만듭니다.

ContinueWith(Action<Task<TResult>,Object>, Object, TaskScheduler)

대상 Task<TResult> 완료되면 실행되는 연속을 만듭니다.

ContinueWith(Action<Task<TResult>>)

대상 작업이 완료되면 비동기적으로 실행되는 연속 작업을 만듭니다.

ContinueWith(Action<Task<TResult>>, CancellationToken)

대상 Task<TResult> 완료되면 비동기적으로 실행되는 취소 가능한 연속 작업을 만듭니다.

ContinueWith(Action<Task<TResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler)

continuationOptions지정된 조건에 따라 실행되는 연속을 만듭니다.

ContinueWith(Action<Task<TResult>>, TaskContinuationOptions)

continuationOptions지정된 조건에 따라 실행되는 연속을 만듭니다.

ContinueWith(Action<Task<TResult>>, TaskScheduler)

대상 Task<TResult> 완료되면 비동기적으로 실행되는 연속을 만듭니다.

ContinueWith(Action<Task>)

대상 Task 완료되면 비동기적으로 실행되는 연속을 만듭니다.

(다음에서 상속됨 Task)
ContinueWith(Action<Task>, CancellationToken)

취소 토큰을 수신하고 대상 Task 완료되면 비동기적으로 실행되는 연속 작업을 만듭니다.

(다음에서 상속됨 Task)
ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)

지정된 TaskContinuationOptions따라 대상 작업이 경쟁할 때 실행되는 연속 작업을 만듭니다. 연속 작업은 취소 토큰을 수신하고 지정된 스케줄러를 사용합니다.

(다음에서 상속됨 Task)
ContinueWith(Action<Task>, TaskContinuationOptions)

지정된 TaskContinuationOptions따라 대상 작업이 완료될 때 실행되는 연속 작업을 만듭니다.

(다음에서 상속됨 Task)
ContinueWith(Action<Task>, TaskScheduler)

대상 Task 완료되면 비동기적으로 실행되는 연속을 만듭니다. 연속 작업은 지정된 스케줄러를 사용합니다.

(다음에서 상속됨 Task)
ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object)

대상 Task<TResult> 완료되면 실행되는 연속을 만듭니다.

ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, CancellationToken)

대상 Task<TResult> 완료되면 실행되는 연속을 만듭니다.

ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler)

대상 Task<TResult> 완료되면 실행되는 연속을 만듭니다.

ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, TaskContinuationOptions)

대상 Task<TResult> 완료되면 실행되는 연속을 만듭니다.

ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, TaskScheduler)

대상 Task<TResult> 완료되면 실행되는 연속을 만듭니다.

ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>)

대상 Task<TResult> 완료되면 비동기적으로 실행되는 연속을 만듭니다.

ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, CancellationToken)

대상 Task<TResult> 완료되면 비동기적으로 실행되는 연속을 만듭니다.

ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

continuationOptions지정된 조건에 따라 실행되는 연속을 만듭니다.

ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, TaskContinuationOptions)

continuationOptions지정된 조건에 따라 실행되는 연속을 만듭니다.

ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, TaskScheduler)

대상 Task<TResult> 완료되면 비동기적으로 실행되는 연속을 만듭니다.

ContinueWith<TResult>(Func<Task,Object,TResult>, Object)

호출자가 제공한 상태 정보를 수신하고 대상 Task 완료되고 값을 반환할 때 비동기적으로 실행되는 연속을 만듭니다.

(다음에서 상속됨 Task)
ContinueWith<TResult>(Func<Task,Object,TResult>, Object, CancellationToken)

대상 Task 완료되고 값을 반환할 때 비동기적으로 실행되는 연속을 만듭니다. 연속은 호출자가 제공한 상태 정보 및 취소 토큰을 받습니다.

(다음에서 상속됨 Task)
ContinueWith<TResult>(Func<Task,Object,TResult>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler)

대상 Task 완료되고 값을 반환할 때 지정된 작업 연속 옵션에 따라 실행되는 연속 작업을 만듭니다. 연속은 호출자가 제공한 상태 정보 및 취소 토큰을 수신하고 지정된 스케줄러를 사용합니다.

(다음에서 상속됨 Task)
ContinueWith<TResult>(Func<Task,Object,TResult>, Object, TaskContinuationOptions)

대상 Task 완료될 때 지정된 작업 연속 옵션에 따라 실행되는 연속 작업을 만듭니다. 연속은 호출자가 제공한 상태 정보를 받습니다.

(다음에서 상속됨 Task)
ContinueWith<TResult>(Func<Task,Object,TResult>, Object, TaskScheduler)

대상 Task 완료되면 비동기적으로 실행되는 연속을 만듭니다. 연속은 호출자 제공 상태 정보를 수신하고 지정된 스케줄러를 사용합니다.

(다음에서 상속됨 Task)
ContinueWith<TResult>(Func<Task,TResult>)

대상 Task<TResult> 완료되고 값을 반환할 때 비동기적으로 실행되는 연속을 만듭니다.

(다음에서 상속됨 Task)
ContinueWith<TResult>(Func<Task,TResult>, CancellationToken)

대상 Task 완료되고 값을 반환할 때 비동기적으로 실행되는 연속을 만듭니다. 연속은 취소 토큰을 받습니다.

(다음에서 상속됨 Task)
ContinueWith<TResult>(Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

지정된 연속 옵션에 따라 실행되는 연속 작업을 만들고 값을 반환합니다. 연속 작업은 취소 토큰을 전달하고 지정된 스케줄러를 사용합니다.

(다음에서 상속됨 Task)
ContinueWith<TResult>(Func<Task,TResult>, TaskContinuationOptions)

지정된 연속 옵션에 따라 실행되는 연속 작업을 만들고 값을 반환합니다.

(다음에서 상속됨 Task)
ContinueWith<TResult>(Func<Task,TResult>, TaskScheduler)

대상 Task 완료되고 값을 반환할 때 비동기적으로 실행되는 연속을 만듭니다. 연속 작업은 지정된 스케줄러를 사용합니다.

(다음에서 상속됨 Task)
Dispose()

Task 클래스의 현재 인스턴스에서 사용하는 모든 리소스를 해제합니다.

(다음에서 상속됨 Task)
Dispose(Boolean)

관리되지 않는 모든 리소스를 해제하여 Task삭제합니다.

(다음에서 상속됨 Task)
Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
GetAwaiter()

Task<TResult>기다리는 데 사용되는 awaiter를 가져옵니다.

GetAwaiter()

Task기다리는 데 사용되는 awaiter를 가져옵니다.

(다음에서 상속됨 Task)
GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
RunSynchronously()

현재 TaskScheduler동기적으로 Task 실행합니다.

(다음에서 상속됨 Task)
RunSynchronously(TaskScheduler)

제공된 TaskScheduler 동기적으로 Task 실행합니다.

(다음에서 상속됨 Task)
Start()

Task시작하여 현재 TaskScheduler실행되도록 예약합니다.

(다음에서 상속됨 Task)
Start(TaskScheduler)

Task시작하여 지정된 TaskScheduler실행되도록 예약합니다.

(다음에서 상속됨 Task)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
Wait()

Task 실행이 완료되기를 기다립니다.

(다음에서 상속됨 Task)
Wait(CancellationToken)

Task 실행이 완료되기를 기다립니다. 작업이 완료되기 전에 취소 토큰이 취소되면 대기가 종료됩니다.

(다음에서 상속됨 Task)
Wait(Int32)

지정된 시간(밀리초) 내에 Task 실행이 완료될 때까지 기다립니다.

(다음에서 상속됨 Task)
Wait(Int32, CancellationToken)

Task 실행이 완료되기를 기다립니다. 태스크가 완료되기 전에 시간 제한 간격이 경과하거나 취소 토큰이 취소되면 대기가 종료됩니다.

(다음에서 상속됨 Task)
Wait(TimeSpan)

지정된 시간 간격 내에 Task 실행이 완료될 때까지 기다립니다.

(다음에서 상속됨 Task)
Wait(TimeSpan, CancellationToken)

Task 실행이 완료되기를 기다립니다.

(다음에서 상속됨 Task)
WaitAsync(CancellationToken)

Task<TResult> 완료되거나 지정된 CancellationToken 취소가 요청되었을 때 완료될 Task<TResult> 가져옵니다.

WaitAsync(CancellationToken)

Task 완료되거나 지정된 CancellationToken 취소가 요청되었을 때 완료될 Task 가져옵니다.

(다음에서 상속됨 Task)
WaitAsync(TimeSpan)

Task<TResult> 완료되거나 지정된 시간 제한이 만료될 때 완료될 Task<TResult> 가져옵니다.

WaitAsync(TimeSpan)

Task 완료되거나 지정된 시간 제한이 만료될 때 완료될 Task 가져옵니다.

(다음에서 상속됨 Task)
WaitAsync(TimeSpan, CancellationToken)

Task<TResult> 완료되거나 지정된 시간 제한이 만료되거나 지정된 CancellationToken 취소가 요청된 경우 완료되는 Task<TResult> 가져옵니다.

WaitAsync(TimeSpan, CancellationToken)

Task 완료되거나 지정된 시간 제한이 만료되거나 지정된 CancellationToken 취소가 요청된 경우 완료되는 Task 가져옵니다.

(다음에서 상속됨 Task)
WaitAsync(TimeSpan, TimeProvider)

Task<TResult> 완료되거나 지정된 시간 제한이 만료될 때 완료될 Task<TResult> 가져옵니다.

WaitAsync(TimeSpan, TimeProvider)

Task 완료되거나 지정된 시간 제한이 만료될 때 완료될 Task 가져옵니다.

(다음에서 상속됨 Task)
WaitAsync(TimeSpan, TimeProvider, CancellationToken)

Task<TResult> 완료되거나 지정된 시간 제한이 만료되거나 지정된 CancellationToken 취소가 요청된 경우 완료되는 Task<TResult> 가져옵니다.

WaitAsync(TimeSpan, TimeProvider, CancellationToken)

Task 완료되거나 지정된 시간 제한이 만료되거나 지정된 CancellationToken 취소가 요청된 경우 완료되는 Task 가져옵니다.

(다음에서 상속됨 Task)

명시적 인터페이스 구현

IAsyncResult.AsyncWaitHandle

작업이 완료될 때까지 기다리는 데 사용할 수 있는 WaitHandle 가져옵니다.

(다음에서 상속됨 Task)
IAsyncResult.CompletedSynchronously

작업이 동기적으로 완료되었는지 여부를 나타내는 표시를 가져옵니다.

(다음에서 상속됨 Task)

확장 메서드

WaitAsync(Task, TimeSpan, TimeProvider, CancellationToken)

Task 완료되거나 지정된 시간 제한이 만료되거나 지정된 CancellationToken 취소가 요청된 경우 완료되는 Task 가져옵니다.

WaitAsync<TResult>(Task<TResult>, TimeSpan, TimeProvider, CancellationToken)

Task 완료되거나 지정된 시간 제한이 만료되거나 지정된 CancellationToken 취소가 요청된 경우 완료되는 Task 가져옵니다.

DispatcherOperationWait(Task)

기본 DispatcherOperation 완료되기까지 무기한 대기합니다.

DispatcherOperationWait(Task, TimeSpan)

기본 DispatcherOperation 완료될 때까지 지정된 시간을 기다립니다.

IsDispatcherOperationTask(Task)

TaskDispatcherOperation연결되어 있는지 여부를 나타내는 값을 반환합니다.

AsAsyncAction(Task)

시작된 작업을 나타내는 Windows 런타임 비동기 작업을 반환합니다.

AsAsyncOperation<TResult>(Task<TResult>)

결과를 반환하는 시작된 작업을 나타내는 Windows 런타임 비동기 작업을 반환합니다.

적용 대상

스레드 보안

Dispose()제외한 Task<TResult>모든 멤버는 스레드로부터 안전하며 여러 스레드에서 동시에 사용할 수 있습니다.

추가 정보