<future>
Включите стандартный заголовок <future> для определения классы-шаблоны и поддерживающие шаблоны, которые упрощают для выполнения функции — допустим в отдельных потоках и извлечь его результат. Результат любого значения, возвращаемого функцией или исключения, выдается функцией, но не уловлен в функции.
Этот заголовок используется среда выполнения с параллелизмом (ConcRT), чтобы можно было использовать его вместе с другими механизмами ConcRT. Дополнительные сведения о ConcRT см. в разделе Среда выполнения с параллелизмом.
#include <future>
Заметки
Примечание
В коде, компилироваться с помощью /clr или /clr:pure, этот заголовок блокируется.
асинхронный поставщик сохраняет результат вызова функции. возвращает асинхронное возражает используется для извлечения результат вызова функции. асинхронное состояние. обеспечивает связь между асинхронные поставщиком и одним или несколькими асинхронными возвращенными объектами.
Программа непосредственно не создает связанных асинхронные объекты состояния. Программа создает асинхронный поставщик, когда требуется одно и из него создает асинхронный возвращает объект, который использует связанным асинхронное состояние с поставщиком. Асинхронные поставщики и асинхронные возвращают объекты управляющих объектов, содержащих их общее связанных асинхронное состояние. Когда уничтожается последний объект, ссылающийся на полезные асинхронные выпуски состояния его, объект, содержащий связанное асинхронное состояние.
Асинхронный поставщик или асинхронный возвращает объект, который не имеет связанного с ним асинхронное состояние пустыми.
Связанное асинхронное состояние имеет значение ready, только если его асинхронный поставщик сохранил возвращаемое значение или исключение.
Шаблонная функция async и классы-шаблоны promise и packaged_task асинхронных поставщиков. Классы-шаблоны future и shared_future описывают асинхронные возвращают объекты.
Каждый из шаблонных классов promise, future и shared_future имеет специализацию для типа void и частично специализацию для хранения и извлечения значения по ссылке. Эти специализации отличаются от первичного шаблона только в сигнатурах и семантике функций, которые хранят и извлекает возвращаемое значение.
Классы-шаблоны future и shared_future никогда не блокируются на их деструкторах, за исключением одного варианта, сохраняется для обеспечения обратной совместимости. В отличие от других будущие, для future— либо последнее shared_future— это вложенное в задачу запущенной с std::async, блоки деструктора, если задача не завершена; то есть, если этот поток блокируется, пока не .get() или .wait() и задачи по-прежнему работают. В следующей полезности заметка была добавлена в описание std::async в стандарте черновика: «[Примечание. Если будущее предоставленное std::async остается локальной областью, другой код, который использует имя следующего имейте в виду, что требуется и гарантирован никогда не блокируется деструктор будущего может блокировать для общего состояния станет готовым. — конечная заметка]» во всех остальных случаях future и деструкторы shared_future.
Члены
Классы
Name |
Описание |
---|---|
Описывает асинхронный возвращенный объект. |
|
Описание объекта исключения, которое может быть возникает методами типов, управляющие объекты future. |
|
Описание поставщика, программа-оболочка асинхронного вызова, а сигнатура вызова Ty(ArgTypes...). Связанным асинхронное состояние содержит копию его можно вызвать объекта помимо потенциальному результату. |
|
Описывает асинхронный поставщика. |
|
Описывает асинхронный возвращенный объект. В отличие от объекта future, асинхронного поставщик можно связать с любым числом объектов shared_future. |
Структуры
Name |
Описание |
---|---|
Специализация, указывающую, что future_errc подходит для хранения error_code. |
|
Специализация, всегда содержит значение true. |
Функции
Name |
Описание |
---|---|
Представляет асинхронный поставщика. |
|
Возвращает ссылку на объект error_category, который характеризует ошибки, связанные с объектами future. |
|
Создает error_code которого объект error_category, который характеризует ошибки future. |
|
Создает error_condition которого объект error_category, который характеризует ошибки future. |
|
Меняет местами. асинхронное состояние одного объекта promise с одним из других. |
Перечисления
Name |
Описание |
---|---|
Символические имена предоставляет для ошибок, которые предоставляются классом future_error. |
|
Символические имена предоставляет по причинам, синхронизированная продолжительность может возвращать. |
|
Представляет тип битовой маски, который описывает возможные режимы для функции шаблона async. |