Scenarios

Futures, while they can represent any type of values, are often used in specific scenarios.

One of the scenarios is I/O operation, such as reading from the Internet, or writing to a local file system, etc.

Diagram: Function foo obtains data through the BSD socket interface read in nonblocking mode.