Introduction to Promises and Futures

This lesson gives an introduction to std::promise and std::future, which are used in C++ for multithreading.

We'll cover the following

Promise and future make a mighty pair. A promise can put a value, an exception, or simply a notification into the shared data channel. One promise can serve many std::shared_future futures. With C++20, we may get extended futures that are composable.

Here is an introductory example of the usage of std::promise and std::future. Both communication endpoints can be moved to separate threads, so the communication takes place between threads.

Get hands-on with 1200+ tech skills courses.