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) |
Инициализирует новый Task с указанным действием и CancellationToken. |
Task(Action, CancellationToken, TaskCreationOptions) |
Инициализирует новый Task с указанными параметрами действия и создания. |
Task(Action, TaskCreationOptions) |
Инициализирует новый Task с указанными параметрами действия и создания. |
Task(Action<Object>, Object) |
Инициализирует новый Task с указанным действием и состоянием. |
Task(Action<Object>, Object, CancellationToken) |
Инициализирует новый Task с указанным действием, состоянием и CancellationToken. |
Task(Action<Object>, Object, CancellationToken, TaskCreationOptions) |
Инициализирует новый Task с указанным действием, состоянием и параметрами. |
Task(Action<Object>, Object, TaskCreationOptions) |
Инициализирует новый Task с указанным действием, состоянием и параметрами. |
Свойства
AsyncState |
Возвращает объект состояния, предоставленный при создании Task, или значение NULL, если он не указан. |
CompletedTask |
Возвращает задачу, которая уже завершилась успешно. |
CreationOptions |
Возвращает TaskCreationOptions, используемый для создания этой задачи. |
CurrentId |
Возвращает идентификатор текущего выполняемого Task. |
Exception |
Возвращает AggregateException, вызвавшие преждевременное завершение Task. Если Task выполнен успешно или еще не вызвал никаких исключений, возвращается |
Factory |
Предоставляет доступ к методам фабрики для создания и настройки Task и Task<TResult> экземпляров. |
Id |
Возвращает идентификатор для этого экземпляра Task. |
IsCanceled |
Получает, завершилось ли выполнение этого Task экземпляра из-за отмены. |
IsCompleted |
Возвращает значение, указывающее, завершена ли задача. |
IsCompletedSuccessfully |
Возвращает, выполняется ли задача до завершения. |
IsFaulted |
Возвращает, завершен ли Task из-за необработанного исключения. |
Status |
Возвращает TaskStatus этой задачи. |
Методы
ConfigureAwait(Boolean) |
Настраивает средство ожидания, используемое для ожидания этой Task. |
ConfigureAwait(ConfigureAwaitOptions) |
Настраивает средство ожидания, используемое для ожидания этой Task. |
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. |
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) |
Ожидает завершения выполнения всех предоставленных 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, которая завершится, когда этот Task завершится или когда указанный CancellationToken запрос на отмену. |
WaitAsync(TimeSpan) |
Возвращает Task, которая завершится, когда этот Task завершается или когда истекает указанное время ожидания. |
WaitAsync(TimeSpan, CancellationToken) |
Возвращает Task, которая завершится после завершения этого Task, когда истекает указанное время ожидания или когда указанный CancellationToken запрашивается отмена. |
WaitAsync(TimeSpan, TimeProvider) |
Возвращает Task, которая завершится, когда этот Task завершается или когда истекает указанное время ожидания. |
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>) |
Создает 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, которая завершится после завершения этого Task, когда истекает указанное время ожидания или когда указанный CancellationToken запрашивается отмена. |
DispatcherOperationWait(Task) |
Ожидает завершения базовой DispatcherOperation на неопределенный срок. |
DispatcherOperationWait(Task, TimeSpan) |
Ожидает завершения указанного времени базового DispatcherOperation. |
IsDispatcherOperationTask(Task) |
Возвращает значение, указывающее, связан ли этот Task с DispatcherOperation. |
AsAsyncAction(Task) |
Возвращает асинхронное действие среды выполнения Windows, представляющее запущенную задачу. |
Применяется к
Потокобезопасность
Все члены Task, кроме Dispose(), являются потокобезопасными и могут использоваться одновременно из нескольких потоков.
См. также раздел
- Task<TResult>
-
библиотеки параллельных задач (TPL) - асинхронный шаблон на основе задач в .NET: введение и обзор
- асинхронное программирование на основе задач
- примеры для параллельного программирования с помощью .NET Core и .NET Standard