Client-Library’s asynchronous mode allows applications to constructively use time that might otherwise be spent waiting for certain types of operations to complete. Typically, reading from or writing to a network or external device is much slower than straightforward program execution.
When asynchronous behavior is enabled, all Client-Library routines that could potentially block program execution behave asynchronously. That is, they either:
Initiate the requested operation and return immediately, or
Return immediately with information that an asynchronous operation is already pending.
Applications can learn of operation completions using one of two models:
Non-polling (interrupt-driven)
Polling