Asynchronous procedure call

An asynchronous procedure call (APC) is a unit of work in a computer.

An APC is typically formed as an object with a small amount of memory and this object is passed to a service which handles the wait interval, activating it when the appropriate event (e.g., user input) occurs.

The life cycle of an APC consists of 2 stages: the passive stage, when it passively waits for input data, and active state, when that data is calculated in the same way as at the usual procedure call.

In Dataflow programming many ports are used, passing to an execution service when all inputs are present.

In Windows, APC is a function that executes asynchronously in the context of a specific thread.