Skip to content

Asynchronous Execution Pattern

Asynchronous programming allows initiating operations without blocking for their completion. The caller continues execution and handles results later (via callbacks, promises/futures, or continuation-passing). This maximizes resource utilization when operations involve waiting (I/O, network).

Tension Addressed

Isolation vs. Performance

Recognizable As

Callbacks, promises/futures, async/await syntax (expressing sequential logic over async operations), event loops. The pattern separates "starting work" from "receiving results."

Canonical Sources

Liskov & Shrira, "Promises" (1988); Baker & Hewitt, "The Incremental Garbage Collection of Processes" (1977) on futures

Transfers To

I/O operations, network programming, UI event handling, distributed systems (RPC)