std::future

Da cppreference.com.
< cpp‎ | thread


 
 
Discussione libreria di supporto
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 spazio dei nomi
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)
Mutua esclusione
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)
Blocco di gestione generico
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(C++11)
try_lock(C++11)
defer_lock
try_to_lock
adopt_lock
(C++11)
(C++11)
(C++11)
Condizioni variabili
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)
 
std::future
future::future
future::~future
future::operator=
future::share
Ottenere il risultato
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
Stato
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
 
Elemento definito nell'header <future>
template<class T >class future;
(1) (dal C++11)
template<class T >class future<T&>;
(2) (dal C++11)
template<>          class future<void>;
(3) (dal C++11)
Il std::future modello di classe fornisce un meccanismo per accedere al risultato delle operazioni asincrone:
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.
  • Il creatore dell'operazione asincrona può utilizzare una varietà di metodi per le query, aspettare, o estrarre un valore dal std::future. Questi metodi possono bloccare se l'operazione asincrona non ha ancora fornito un valore.
    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.
  • Quando l'operazione asincrona è pronto per inviare un risultato al creatore, può farlo mediante la modifica dello stato condiviso (ad esempio std::promise::set_value) che è legata alla std::future del creatore.
    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.
Si noti che i riferimenti std::future stato condiviso che non sia condivisa con altri oggetti di ritorno asincroni (a differenza 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.

Indice

[modifica]Membri funzioni

costruisce l'oggetto futuro
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.

(metodo pubblico)[modifica]
distrugge l'oggetto futuro
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.

(metodo pubblico)[modifica]
sposta l'oggetto futuro
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.

(metodo pubblico)[modifica]
restituisce un shared_future riferimento al risultato associato al *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.

(metodo pubblico)[modifica]
Ottenere il risultato
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.
restituisce il risultato
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.

(metodo pubblico)[modifica]
Stato
Original:
State
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Verifica se il futuro è stato condiviso con una promessa
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.

(metodo pubblico)[modifica]
attende il risultato diventi disponibile
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.

(metodo pubblico)[modifica]
waits for the result, returns if it is not available for the specified timeout duration
(metodo pubblico)[modifica]
aspetta il risultato, restituisce se non è disponibile fino punto di tempo specificato è stato raggiunto
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.

(metodo pubblico)[modifica]

[modifica]Esempio

#include <iostream>#include <future>#include <thread>   int main(){// future from a packaged_taskstd::packaged_task<int()> task([](){return7;});// wrap the function std::future<int> f1 = task.get_future();// get a futurestd::thread(std::move(task)).detach();// launch on a thread   // future from an async() std::future<int> f2 =std::async(std::launch::async, [](){return8;});   // future from a promisestd::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<<"Waiting..."; f1.wait(); f2.wait(); f3.wait();std::cout<<"Done!\nResults are: "<< f1.get()<<' '<< f2.get()<<' '<< f3.get()<<'\n';}

Output:

Waiting...Done! Results are: 7 8 9

[modifica]Vedi anche

(C++11)
esegue una funzione in modo asincrono (potenzialmente in un nuovo thread) e restituisce un std::future che conterrà il risultato
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.

(funzione di modello)[modifica]
attende un valore (eventualmente riferimento altri futuri) che è impostato in modo asincrono
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 template)[modifica]
close