liveBook · Manning

Future

A future is an abstraction representing an asynchronous computation or its result, which may not be complete or available yet.

How 8 Manning books explain it

C++ Concurrency in Action, Second Edition

An object representing a value that may become available later, often as the result of asynchronous work.

How it is used
Synchronizes one-off events and transfers results between concurrent operations without requiring callers to manage result transfer through std::thread.
How deep it goes
Works through waiting, result retrieval, producers, exceptions, and continuations; does not specify which thread runs a continuation.
Examples
Uses a background calculation, network packet completion, parallel Quicksort, and an asynchronous login workflow.
What you can do after
Apply it via std::async or std::promise to retrieve results and exceptions, or via Concurrency TS continuations to chain operations.

Read how C++ Concurrency in Action, Second Edition explains future →

Rust Servers, Services, and Apps

The Rust Future trait defines the interface for an asynchronous computation that can be polled toward completion.

How it is used
Connects deferred computations to concurrent task scheduling in Rust web services.
How deep it goes
Works through the trait signature, polling, waking, and a custom timer, while leaving Pin’s deeper mechanics aside.
Examples
Uses concurrent file-read simulations and a custom expiration timer to show pending and ready results.
What you can do after
Build it from scratch: implement a timer future that returns pending, wakes its task, and eventually returns a value.

Read how Rust Servers, Services, and Apps explains future →

Python Concurrency with asyncio

A future is an object representing the eventual result or exception of an asynchronous operation that may not yet be complete.

How it is used
Coordinates deferred results in asyncio and exposes completion to await expressions and APIs that return futures.
How deep it goes
Defines states, result handling, awaiting, inheritance, and custom __await__ mechanics, but does not develop custom awaitables beyond a basic implementation.
Examples
Uses direct result assignment, delayed web-request simulation, a responsive URL stress tester, and a custom future driven by an event loop.
What you can do after
Apply it via asyncio by awaiting results, setting completion values or exceptions, and tracking thread-safe coroutine submissions.

Read how Python Concurrency with asyncio explains future →

Code Like a Pro in Rust

Future is a Rust trait representing a computation that may complete later and eventually produce an output or remain pending.

How it is used
Represents deferred async results and provides the return type used when adapting trait methods to asynchronous work.
How deep it goes
Explains lazy execution and polling, then works through pinned, boxed futures for an async observer; it does not implement an executor.
Examples
Contrasts awaited, discarded, and spawned async blocks; builds a pinned future-returning observer trait and tests its update.
What you can do after
Apply it via Tokio to await or spawn work, return pinned futures from trait methods, and isolate blocking calls.

Read how Code Like a Pro in Rust explains future →

Grokking Concurrency

A future is a concurrency abstraction and placeholder representing the result of an asynchronous computation that will become available later.

How it is used
Supports asynchronous communication by letting callers continue after starting work and later receive its result.
How deep it goes
Defines futures as placeholders and synchronization mechanisms, then traces their role in cooperative event-loop and socket operations.
Examples
Uses burger ordering, socket send and receive operations, and a pizza server with background cooking.
What you can do after
Build it from scratch as a simple Future-backed cooperative server component for deferred I/O or background results.

Read how Grokking Concurrency explains future →

Learn Rust in a Month of Lunches

A Future is a Rust abstraction representing an asynchronous computation whose result may become available later and which can be polled for readiness.

How it is used
Represents an async computation whose output can be awaited rather than returned immediately.
How deep it goes
Explains readiness, polling, awaiting, and the Future trait’s Output type, while deferring a deep understanding of Pin.
Examples
Uses an async function returning a u8, compiler errors around await, and timed Futures combined with Tokio macros.
What you can do after
Apply it via Tokio to await a Future and choose between sequential waits, join!, and select! for multiple Futures.

Read how Learn Rust in a Month of Lunches explains future →

Functional Programming in Scala, Second Edition

Future is a Java concurrency interface representing the result of an asynchronous computation and supporting result retrieval and cancellation.

How it is used
Represents asynchronous results and composes parallel work or non-blocking I/O through callbacks.
How deep it goes
Defines callback encoding, executor scheduling, parallel combination, and a blocking run bridge.
Examples
Uses parallel square-root mapping, callback-based byte reads, and console programs compiled into Par.
What you can do after
Build it from scratch as a callback-based result type and adapt asynchronous sources into composable Par actions.

Read how Functional Programming in Scala, Second Edition explains future →

Kotlin in Action, 2E

A future is an abstraction representing a result that may become available after an asynchronous computation finishes.

How it is used
Coordinates independent asynchronous computations whose results are awaited later.
How deep it goes
Defines Deferred, demonstrates async and await timing, and explains cancellation and exception-consumption responsibilities.
Examples
Uses concurrent delayed addition, chained login and user-data loading, cancellation, and an exception thrown beneath async.
What you can do after
Apply it via Kotlin async and await to run independent tasks concurrently and consume their values or failures.

Read how Kotlin in Action, 2E explains future →

Related concepts

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.