Task 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
비동기 작업을 나타냅니다.
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에 대한 자세한 내용은 작업대한
생성자
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하지 않은 경우 |
Factory |
Task 및 Task<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>) |
스레드 풀에서 실행할 지정된 작업을 큐에 대기하고 |
Run(Func<Task>, CancellationToken) |
스레드 풀에서 실행할 지정된 작업을 큐에 대기하고 |
Run<TResult>(Func<Task<TResult>>) |
스레드 풀에서 실행할 지정된 작업을 큐에 대기하고 |
Run<TResult>(Func<Task<TResult>>, CancellationToken) |
스레드 풀에서 실행할 지정된 작업을 큐에 대기하고 |
Run<TResult>(Func<TResult>) |
스레드 풀에서 실행할 지정된 작업을 큐에 대기하고 해당 작업을 나타내는 Task<TResult> 개체를 반환합니다. 취소 토큰을 사용하면 작업이 아직 시작되지 않은 경우 작업을 취소할 수 있습니다. |
Run<TResult>(Func<TResult>, CancellationToken) |
스레드 풀에서 실행할 지정된 작업을 큐에 대기하고 해당 작업을 나타내는 |
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) | |
WaitAsync(TimeSpan, CancellationToken) |
이 Task 완료되거나 지정된 시간 제한이 만료되거나 지정된 CancellationToken 취소가 요청된 경우 완료되는 Task 가져옵니다. |
WaitAsync(TimeSpan, TimeProvider) | |
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 |
작업이 동기적으로 완료되었는지 여부를 나타내는 표시를 가져옵니다. |
확장 메서드
WaitAsync(Task, TimeSpan, TimeProvider, CancellationToken) |
이 Task 완료되거나 지정된 시간 제한이 만료되거나 지정된 CancellationToken 취소가 요청된 경우 완료되는 Task 가져옵니다. |
DispatcherOperationWait(Task) |
기본 DispatcherOperation 완료되기까지 무기한 대기합니다. |
DispatcherOperationWait(Task, TimeSpan) |
기본 DispatcherOperation 완료될 때까지 지정된 시간을 기다립니다. |
IsDispatcherOperationTask(Task) |
이 TaskDispatcherOperation연결되어 있는지 여부를 나타내는 값을 반환합니다. |
AsAsyncAction(Task) |
시작된 작업을 나타내는 Windows 런타임 비동기 작업을 반환합니다. |
적용 대상
스레드 보안
Dispose()제외한 Task모든 멤버는 스레드로부터 안전하며 여러 스레드에서 동시에 사용할 수 있습니다.
추가 정보
- Task<TResult>
- TPL(작업 병렬 라이브러리)
- .NET의 TAP(작업 기반 비동기 패턴) : 소개 및 개요
- 작업 기반 비동기 프로그래밍
- .NET Core 및 .NET Standard 사용한 병렬 프로그래밍에 대한
샘플
.NET