Futures
Class introduced in C++11 to access values set by specific providers.
Providers set the shared state to ready when the value is set.
Future

Promise

Future providers: async

Thread communication with futures

Future Providers: packaged_task

Task based vs Thread based programs