Futures are a pattern for expressing asynchronous computations in a natural and composable way. This blog post introduces Folly Futures, an implementation of futures for C++11 that we use at Facebook. Why asynchrony? Consider a service A that talks to another service B. If A blocks while waiting for a reply from B, then A is synchronous. A blocked thread is idle; it cannot service other requests.
![Futures for C++11 at Facebook](https://cdn-ak-scissors.b.st-hatena.com/image/square/a927edddcc7fc5ec6ef78ef3ebc213be38e210bb/height=288;version=1;width=512/https%3A%2F%2Fengineering.fb.com%2Fwp-content%2Fuploads%2F2015%2F06%2F1522635669452_11.jpg)