Поделиться через


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 выполнен успешно или еще не вызвал никаких исключений, возвращается null.

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>)

Очереди указанной работы, выполняемой в пуле потоков, и возвращает прокси-сервер для задачи, возвращаемой function.

Run(Func<Task>, CancellationToken)

Очереди указанной работы, выполняемой в пуле потоков, и возвращает прокси-сервер для задачи, возвращаемой function. Маркер отмены позволяет отменить работу, если она еще не запущена.

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

Очереди указанной работы, выполняемой в пуле потоков, и возвращает прокси-сервер для Task(TResult), возвращаемого function. Маркер отмены позволяет отменить работу, если она еще не запущена.

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

Очереди указанной работы, выполняемой в пуле потоков, и возвращает прокси-сервер для Task(TResult), возвращаемого function.

Run<TResult>(Func<TResult>)

Очереди указанной работы, выполняемой в пуле потоков, и возвращает объект Task<TResult>, представляющий работу. Маркер отмены позволяет отменить работу, если она еще не запущена.

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

Очереди указанной работы, выполняемой в пуле потоков, и возвращает объект Task(TResult), представляющий работу.

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(), являются потокобезопасными и могут использоваться одновременно из нескольких потоков.

См. также раздел