Asynchronous method dispatch
Rationale
Asynchronous method dispatch (AMD) is a data communication method used when there is a need for the server side to handle a large set of long running client requests. Using Synchronous method dispatch (SMD), this scenario may turn the server into an unvavailable busy state resulting in a connection failure response cased by a network connection request timeout.
Mechanism
The servicing of a client request is immediately dispatched to an available thread from a pool of threads and the client is put in a blocking state. Upon the completion of the task, the server is notified by a callback. The server unblocks the client and transmits the response back to the client. In case of thread starvation, clients are blocked waiting for threads to become available.