Spec-Zone.ru › C++

std::future<T>::~future

~future();
(с C++11)

Освобождает любые общие данные. Это означает

  • если текущий объект содержит последнюю ссылку на свои общие данные, то общие данные уничтожаются;
  • текущий объект отказывается от своей ссылки на общие данные;
  • эти действия не будут блокироваться в ожидании готовности общих данных, за исключением случаев, когда выполняются все следующие условия:
  1. общие данные были созданы вызовом std::async,
  2. общие данные еще не готовы, и
  3. текущий объект был последней ссылкой на общие данные.
(с C++14)

На практике эти действия будут блокироваться только если политика запуска задачи равна std::launch::async (см. "Effective Modern C++" Элемент 36), либо потому, что это было выбрано системным временем выполнения, либо потому, что это было указано в вызове std::async.

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/thread/future/%7Efuture

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API