"Futures" (Cont.) A future is an object that is used to store results of computations that will be done in the future (hence the name). A future has a result value (int, string, structure...), a method to set this value, and a method to get this value. A future also has a method to check if its value has been set, and a method to wait until the value is set (probably using a condition variable). In addition, we might want to be able to wait on a set of future objects. This will allow us to perform a computation that requires getting some data from several active objects simultaneously.