다음을 통해 공유


Task 클래스

정의

비동기 작업을 나타냅니다.

public ref class Task : IAsyncResult
public ref class Task : IAsyncResult, IDisposable
public class Task : IAsyncResult
public class Task : IAsyncResult, IDisposable
type Task = class
    interface IAsyncResult
type Task = class
    interface IAsyncResult
    interface IDisposable
Public Class Task
Implements IAsyncResult
Public Class Task
Implements IAsyncResult, IDisposable
상속
Task
파생
구현

설명

이 API에 대한 자세한 내용은 작업대한 추가 API 비고를 참조하세요.

생성자

Task(Action)

지정된 작업을 사용하여 새 Task 초기화합니다.

Task(Action, CancellationToken)

지정된 작업 및 CancellationToken사용하여 새 Task 초기화합니다.

Task(Action, CancellationToken, TaskCreationOptions)

지정된 작업 및 만들기 옵션을 사용하여 새 Task 초기화합니다.

Task(Action, TaskCreationOptions)

지정된 작업 및 만들기 옵션을 사용하여 새 Task 초기화합니다.

Task(Action<Object>, Object)

지정된 작업 및 상태를 사용하여 새 Task 초기화합니다.

Task(Action<Object>, Object, CancellationToken)

지정된 작업, 상태 및 CancellationToken사용하여 새 Task 초기화합니다.

Task(Action<Object>, Object, CancellationToken, TaskCreationOptions)

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

Task(Action<Object>, Object, TaskCreationOptions)

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

속성

AsyncState

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

CompletedTask

이미 완료된 작업을 가져옵니다.

CreationOptions

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

CurrentId

현재 실행 중인 TaskID를 반환합니다.

Exception

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

Factory

TaskTask<TResult> 인스턴스를 만들고 구성하기 위한 팩터리 메서드에 대한 액세스를 제공합니다.

Id

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

IsCanceled

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

IsCompleted

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

IsCompletedSuccessfully

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

IsFaulted

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

Status

이 작업의 TaskStatus 가져옵니다.

메서드

ConfigureAwait(Boolean)

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

ConfigureAwait(ConfigureAwaitOptions)

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

ContinueWith(Action<Task,Object>, Object)

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

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

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

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

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

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

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

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

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

ContinueWith(Action<Task>)

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

ContinueWith(Action<Task>, CancellationToken)

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

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

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

ContinueWith(Action<Task>, TaskContinuationOptions)

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

ContinueWith(Action<Task>, TaskScheduler)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Delay(Int32)

지정된 시간(밀리초) 후에 완료되는 작업을 만듭니다.

Delay(Int32, CancellationToken)

지정된 시간(밀리초) 후에 완료되는 취소 가능한 작업을 만듭니다.

Delay(TimeSpan)

지정된 시간 간격 후에 완료되는 작업을 만듭니다.

Delay(TimeSpan, CancellationToken)

지정된 시간 간격 후에 완료되는 취소 가능한 작업을 만듭니다.

Delay(TimeSpan, TimeProvider)

지정된 시간 간격 후에 완료되는 작업을 만듭니다.

Delay(TimeSpan, TimeProvider, CancellationToken)

지정된 시간 간격 후에 완료되는 취소 가능한 작업을 만듭니다.

Dispose()

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

Dispose(Boolean)

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

Equals(Object)

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

(다음에서 상속됨 Object)
FromCanceled(CancellationToken)

지정된 취소 토큰을 사용하여 취소로 인해 완료된 Task 만듭니다.

FromCanceled<TResult>(CancellationToken)

지정된 취소 토큰을 사용하여 취소로 인해 완료된 Task<TResult> 만듭니다.

FromException(Exception)

지정된 예외로 완료된 Task 만듭니다.

FromException<TResult>(Exception)

지정된 예외로 완료된 Task<TResult> 만듭니다.

FromResult<TResult>(TResult)

지정된 결과와 함께 성공적으로 완료된 Task<TResult> 만듭니다.

GetAwaiter()

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

GetHashCode()

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

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

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

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

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

(다음에서 상속됨 Object)
Run(Action)

스레드 풀에서 실행할 지정된 작업을 큐에 대기하고 해당 작업을 나타내는 Task 개체를 반환합니다.

Run(Action, CancellationToken)

스레드 풀에서 실행할 지정된 작업을 큐에 대기하고 해당 작업을 나타내는 Task 개체를 반환합니다. 취소 토큰을 사용하면 작업이 아직 시작되지 않은 경우 작업을 취소할 수 있습니다.

Run(Func<Task>)

스레드 풀에서 실행할 지정된 작업을 큐에 대기하고 function반환된 작업에 대한 프록시를 반환합니다.

Run(Func<Task>, CancellationToken)

스레드 풀에서 실행할 지정된 작업을 큐에 대기하고 function반환된 작업에 대한 프록시를 반환합니다. 취소 토큰을 사용하면 작업이 아직 시작되지 않은 경우 작업을 취소할 수 있습니다.

Run<TResult>(Func<Task<TResult>>)

스레드 풀에서 실행할 지정된 작업을 큐에 대기하고 function반환된 Task(TResult) 대한 프록시를 반환합니다. 취소 토큰을 사용하면 작업이 아직 시작되지 않은 경우 작업을 취소할 수 있습니다.

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

스레드 풀에서 실행할 지정된 작업을 큐에 대기하고 function반환된 Task(TResult) 대한 프록시를 반환합니다.

Run<TResult>(Func<TResult>)

스레드 풀에서 실행할 지정된 작업을 큐에 대기하고 해당 작업을 나타내는 Task<TResult> 개체를 반환합니다. 취소 토큰을 사용하면 작업이 아직 시작되지 않은 경우 작업을 취소할 수 있습니다.

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

스레드 풀에서 실행할 지정된 작업을 큐에 대기하고 해당 작업을 나타내는 Task(TResult) 개체를 반환합니다.

RunSynchronously()

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

RunSynchronously(TaskScheduler)

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

Start()

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

Start(TaskScheduler)

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

ToString()

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

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

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

Wait(CancellationToken)

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

Wait(Int32)

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

Wait(Int32, CancellationToken)

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

Wait(TimeSpan)

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

Wait(TimeSpan, CancellationToken)

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

WaitAll(IEnumerable<Task>, CancellationToken)

대기가 취소되지 않는 한 제공된 모든 Task 개체가 실행을 완료할 때까지 기다립니다.

WaitAll(ReadOnlySpan<Task>)

제공된 모든 Task 개체가 실행을 완료할 때까지 기다립니다.

WaitAll(Task[])

제공된 모든 Task 개체가 실행을 완료할 때까지 기다립니다.

WaitAll(Task[], CancellationToken)

대기가 취소되지 않는 한 제공된 모든 Task 개체가 실행을 완료할 때까지 기다립니다.

WaitAll(Task[], Int32)

제공된 모든 Task 개체가 지정된 밀리초 내에 실행을 완료할 때까지 기다립니다.

WaitAll(Task[], Int32, CancellationToken)

제공된 모든 Task 개체가 지정된 시간(밀리초) 이내 또는 대기가 취소될 때까지 실행을 완료할 때까지 기다립니다.

WaitAll(Task[], TimeSpan)

제공된 취소 가능한 모든 Task 개체가 지정된 시간 간격 내에 실행을 완료할 때까지 기다립니다.

WaitAny(Task[])

제공된 Task 개체가 실행을 완료할 때까지 기다립니다.

WaitAny(Task[], CancellationToken)

대기가 취소되지 않는 한 제공된 Task 개체가 실행을 완료할 때까지 기다립니다.

WaitAny(Task[], Int32)

제공된 Task 개체가 지정된 시간(밀리초) 내에 실행을 완료할 때까지 기다립니다.

WaitAny(Task[], Int32, CancellationToken)

제공된 Task 개체가 지정된 시간(밀리초) 이내 또는 취소 토큰이 취소될 때까지 실행을 완료할 때까지 기다립니다.

WaitAny(Task[], TimeSpan)

제공된 Task 개체가 지정된 시간 간격 내에 실행을 완료할 때까지 기다립니다.

WaitAsync(CancellationToken)

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

WaitAsync(TimeSpan)

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

WaitAsync(TimeSpan, CancellationToken)

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

WaitAsync(TimeSpan, TimeProvider)

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

WaitAsync(TimeSpan, TimeProvider, CancellationToken)

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

WhenAll(IEnumerable<Task>)

열거 가능한 컬렉션의 모든 Task 개체가 완료되면 완료되는 작업을 만듭니다.

WhenAll(ReadOnlySpan<Task>)

제공된 모든 작업이 완료되면 완료되는 작업을 만듭니다.

WhenAll(Task[])

배열의 모든 Task 개체가 완료되면 완료되는 작업을 만듭니다.

WhenAll<TResult>(IEnumerable<Task<TResult>>)

열거 가능한 컬렉션의 모든 Task<TResult> 개체가 완료되면 완료되는 작업을 만듭니다.

WhenAll<TResult>(ReadOnlySpan<Task<TResult>>)

제공된 모든 작업이 완료되면 완료되는 작업을 만듭니다.

WhenAll<TResult>(Task<TResult>[])

배열의 모든 Task<TResult> 개체가 완료되면 완료되는 작업을 만듭니다.

WhenAny(IEnumerable<Task>)

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

WhenAny(ReadOnlySpan<Task>)

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

WhenAny(Task, Task)

제공된 작업 중 하나가 완료되면 완료되는 작업을 만듭니다.

WhenAny(Task[])

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

WhenAny<TResult>(IEnumerable<Task<TResult>>)

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

WhenAny<TResult>(ReadOnlySpan<Task<TResult>>)

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

WhenAny<TResult>(Task<TResult>, Task<TResult>)

제공된 작업 중 하나가 완료되면 완료되는 작업을 만듭니다.

WhenAny<TResult>(Task<TResult>[])

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

WhenEach(IEnumerable<Task>)

해당 작업이 완료되면 제공된 작업을 생성하는 IAsyncEnumerable<T> 만듭니다.

WhenEach(ReadOnlySpan<Task>)

해당 작업이 완료되면 제공된 작업을 생성하는 IAsyncEnumerable<T> 만듭니다.

WhenEach(Task[])

해당 작업이 완료되면 제공된 작업을 생성하는 IAsyncEnumerable<T> 만듭니다.

WhenEach<TResult>(IEnumerable<Task<TResult>>)

해당 작업이 완료되면 제공된 작업을 생성하는 IAsyncEnumerable<T> 만듭니다.

WhenEach<TResult>(ReadOnlySpan<Task<TResult>>)

해당 작업이 완료되면 제공된 작업을 생성하는 IAsyncEnumerable<T> 만듭니다.

WhenEach<TResult>(Task<TResult>[])

해당 작업이 완료되면 제공된 작업을 생성하는 IAsyncEnumerable<T> 만듭니다.

Yield()

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

명시적 인터페이스 구현

IAsyncResult.AsyncWaitHandle

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

IAsyncResult.CompletedSynchronously

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

확장 메서드

AsyncWait<TException>(Task)

비동기 작업을 나타냅니다.

AwaitWithTimeout(Task, TimeSpan)

비동기 작업을 나타냅니다.

ToApm(Task, AsyncCallback, Object)

비동기 작업을 나타냅니다.

ToApmEnd(IAsyncResult)

비동기 작업을 나타냅니다.

ToApmEnd<TResult>(IAsyncResult)

비동기 작업을 나타냅니다.

Wait(Task, TimeSpan, Action<Exception,TimeSpan,String>, String)

비동기 작업을 나타냅니다.

WaitForCompletion(Task)

비동기 작업을 나타냅니다.

WaitForCompletionNoSpin(Task)

비동기 작업을 나타냅니다.

WaitForCompletionNoSpin(Task, TimeSpan)

비동기 작업을 나타냅니다.

WaitAsync(Task, TimeSpan, TimeProvider, CancellationToken)

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

DispatcherOperationWait(Task)

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

DispatcherOperationWait(Task, TimeSpan)

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

IsDispatcherOperationTask(Task)

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

AsAsyncAction(Task)

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

적용 대상

스레드 보안

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

추가 정보