Espaces de noms
Variantes
Affichages
Actions

std::future

De cppreference.com
< cpp‎ | thread


 
 
Bibliothèque de support fil
Threads
Original:
Threads
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
thread (C++11)
this_thread espace de noms
Original:
this_thread namespace
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
get_id (C++11)
yield (C++11)
sleep_for (C++11)
sleep_until (C++11)
L'exclusion mutuelle
Original:
Mutual exclusion
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
mutex (C++11)
timed_mutex (C++11)
Gestion du verrouillage générique
Original:
Generic lock management
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
lock_guard (C++11)
unique_lock (C++11)
defer_lock_t
try_to_lock_t
adopt_lock_t
(C++11)
(C++11)
(C++11)
lock (C++11)
try_lock (C++11)
defer_lock
try_to_lock
adopt_lock
(C++11)
(C++11)
(C++11)
Les variables de condition
Original:
Condition variables
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
condition_variable (C++11)
condition_variable_any (C++11)
notify_all_at_thread_exit (C++11)
cv_status (C++11)
Futures
Original:
Futures
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
promise (C++11)
future (C++11)
shared_future (C++11)
packaged_task (C++11)
async (C++11)
launch (C++11)
future_status (C++11)
future_error (C++11)
future_category (C++11)
future_errc (C++11)
 
std::future
future::future
future::~future
future::operator=
future::share
Obtenir le résultat
Original:
Getting the result
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
future::get
État
Original:
State
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
future::valid
future::wait
future::wait_for
future::wait_until
 
Déclaré dans l'en-tête <future>
template< class T > class future;
(1) (depuis C++11)
template< class T > class future<T&>;
(2) (depuis C++11)
template<>          class future<void>;
(3) (depuis C++11)
Le modèle de classe std::future fournit un mécanisme pour accéder aux résultats des opérations asynchrones:
Original:
The class template std::future provides a mechanism to access the result of asynchronous operations:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
  • Le créateur de l'opération asynchrone peut alors utiliser plusieurs méthodes pour demander une valeur, l'attendre, ou l'extraire de la std::future. Ces méthodes peuvent bloquer si l'opération asynchrone n'a pas encore fourni une valeur .
    Original:
    The creator of the asynchronous operation can then use a variety of methods to query, wait for, or extract a value from the std::future. These methods may block if the asynchronous operation has not yet provided a value.
    The text has been machine-translated via Google Translate.
    You can help to correct and verify the translation. Click here for instructions.
  • Lorsque l'opération asynchrone est prête à envoyer un résultat au créateur, il peut utiliser l'état partagé (par exemple std::promise::set_value) qui est liée au std::future du créateur .
    Original:
    When the asynchronous operation is ready to send a result to the creator, it can do so by modifying shared state (e.g. std::promise::set_value) that is linked to the creator's std::future.
    The text has been machine-translated via Google Translate.
    You can help to correct and verify the translation. Click here for instructions.
Notez que les références des état partagé des std::future qui ne pas sont partagés avec d'autres asynchrones retournent des objets (par opposition à std::shared_future) .
Original:
Note that std::future references shared state that is not shared with any other asynchronous return objects (as opposed to std::shared_future).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Sommaire

[modifier] Fonctions membres

construit l'objet future
Original:
constructs the future object
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(fonction membre publique) [edit]
Détruit l'objet future
Original:
destructs the future object
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(fonction membre publique) [edit]
déplace l'objet future
Original:
moves the future object
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(fonction membre publique) [edit]
renvoie un shared_future en référence au résultat associé à *this
Original:
returns a shared_future referring to the result associated to *this
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(fonction membre publique) [edit]
Obtenir le résultat
Original:
Getting the result
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
retourne le résultat
Original:
returns the result
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(fonction membre publique) [edit]
État
Original:
State
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
vérifie si le future est un état partagé avec un promise
Original:
checks if the future has shared state with a promise
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(fonction membre publique) [edit]
attend que le résultat soit disponible
Original:
waits for the result to become available
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(fonction membre publique) [edit]
attend le résultat, retourne si il ne sera pas disponible avant que la durée spécifié soit écoulé
Original:
waits for the result, returns if it is not available for the specified timeout duration
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(fonction membre publique) [edit]
attend le résultat, retourne si il ne sera pas disponible avant que le point dans le temps spécifié soit atteint
Original:
waits for the result, returns if it is not available until specified time point has been reached
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(fonction membre publique) [edit]

[modifier] Exemple

#include <iostream>
#include <future>
#include <thread>
 
int main()
{
    // future depuis un packaged_task
    std::packaged_task<int()> task([](){ return 7; }); // wrap the function
    std::future<int> f1 = task.get_future();  // get a future
    std::thread(std::move(task)).detach(); // launch on a thread
 
    // future depuis un async()
    std::future<int> f2 = std::async(std::launch::async, [](){ return 8; });
 
    // future depuis un promise
    std::promise<int> p;
    std::future<int> f3 = p.get_future();
    std::thread( [](std::promise<int>& p){ p.set_value(9); }, 
                 std::ref(p) ).detach();
 
    std::cout << "En attente...";
    f1.wait();
    f2.wait();
    f3.wait();
    std::cout << "Fait!\nLes resultats sont: "
              << f1.get() << ' ' << f2.get() << ' ' << f3.get() << '\n';
}

Résultat :

En attente...Fait!
Les résultats sont: 7 8 9

[modifier] Voir aussi

(C++11)
exécute une fonction asynchrone (potentiellement dans un nouveau thread) et renvoie une std::future qui contiendra le résultat
Original:
runs a function asynchronously (potentially in a new thread) and returns a std::future that will hold the result
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(fonction générique) [edit]
attend une valeur (peut-être référencé par d'autres futurs) qui est fixé de manière asynchrone
Original:
waits for a value (possibly referenced by other futures) that is set asynchronously
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(classe générique) [edit]