As an example of the first possibility, in C++11, a thread that needs the value of a future can block until it is available by calling the codice_42 or codice_43 member functions. You can also specify a timeout on the wait using the codice_44 or codice_45 member functions to avoid indefinite blocking. If the future arose from a call to codice_38 then a blocking wait (without a timeout) may cause synchronous invocation of the function to compute the result on the waiting thread.