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에 대한 자세한 내용은 작업에 대한 추가 API 설명을 참조하세요.
생성자
Task(Action) |
지정된 작업을 사용하여 새 Task를 초기화합니다. |
Task(Action, CancellationToken) |
지정된 작업을 사용하여 새 Task 및 CancellationToken을 초기화합니다. |
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 |
현재 실행 중인 Task의 ID를 반환합니다. |
Exception |
AggregateException가 중간에 종료되도록 하는 Task을 가져옵니다. 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() |
현재 Task에서 TaskScheduler를 동기적으로 실행합니다. |
RunSynchronously(TaskScheduler) |
제공된 Task에서 TaskScheduler를 동기적으로 실행합니다. |
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) |
비동기 작업을 나타냅니다. |
WaitAll(ReadOnlySpan<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 이 Task 작업이 완료되거나 지정된 에 취소가 요청되었을 때 완료되는 을 CancellationToken 가져옵니다. |
WaitAsync(TimeSpan) | |
WaitAsync(TimeSpan, CancellationToken) |
Task 이 Task 작업이 완료될 때, 지정된 시간 제한이 만료될 때 또는 지정된 에 취소가 요청된 경우 완료되는 을 CancellationToken 가져옵니다. |
WaitAsync(TimeSpan, TimeProvider) | |
WaitAsync(TimeSpan, TimeProvider, CancellationToken) |
Task 이 Task 작업이 완료될 때, 지정된 시간 제한이 만료될 때 또는 지정된 에 취소가 요청된 경우 완료되는 을 CancellationToken 가져옵니다. |
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>) |
비동기 작업을 나타냅니다. |
WhenEach(ReadOnlySpan<Task>) |
비동기 작업을 나타냅니다. |
WhenEach(Task[]) |
비동기 작업을 나타냅니다. |
WhenEach<TResult>(IEnumerable<Task<TResult>>) |
비동기 작업을 나타냅니다. |
WhenEach<TResult>(ReadOnlySpan<Task<TResult>>) |
비동기 작업을 나타냅니다. |
WhenEach<TResult>(Task<TResult>[]) |
비동기 작업을 나타냅니다. |
Yield() |
대기할 때 현재 컨텍스트로 비동기적으로 전환되는 awaitable 작업을 만듭니다. |
명시적 인터페이스 구현
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) |
비동기 작업을 나타냅니다. |
DispatcherOperationWait(Task) |
기본 DispatcherOperation이 완료되기를 무기한 기다립니다. |
DispatcherOperationWait(Task, TimeSpan) |
그런 다음 지정된 시간 동안 기본 DispatcherOperation이 완료되기를 기다립니다. |
IsDispatcherOperationTask(Task) |
이 Task가 DispatcherOperation과 연결되어 있는지 여부를 나타내는 값을 반환합니다. |
AsAsyncAction(Task) |
시작된 작업을 나타내는 Windows 런타임 비동기 작업을 반환합니다. |
적용 대상
스레드 보안
를 제외한 Dispose()의 Task모든 멤버는 스레드로부터 안전하며 여러 스레드에서 동시에 사용할 수 있습니다.
추가 정보
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기