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 |
Получает указание на то, выполняется ли операция синхронно. |
Методы расширения
| 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