An asynchronous database API allows threads to call a database and
continue to execute without spawning a thread to wait for the database
and without polling the database. The API immediately returns to a caller
without waiting for a database operation to complete or for any other
external event. A call to an asynchronous database API can invoke an
initialization method. The initialization method may validate the input
parameters, build them into a message for a database operation, send the
message to the database server, and return signal information to the
client process thread. Signal information provides a client thread with a
way to recognize a signal indicating the return of results from a
database. Upon completion of a database operation, a thread can call a
finalization method to perform any final step to process the database
results and pass the formatted results to the thread.