Asynchrony (computer programming)
Asynchrony, in computer programming, refers to the occurrence of events independently of the main program flow and ways to deal with such events. These may be "outside" events such as the arrival of signals, or actions instigated by a program that take place concurrently with program execution, without the program blocking to wait for results.[1] Asynchronous input/output is an example of the latter cause of asynchrony, and lets programs issue commands to storage or network devices that service these requests while the processor continues executing the program. Doing so provides a degree of parallelism.[1]
A common way for dealing with asynchrony in a programming interface is to provide subroutines (methods, functions) that return to their caller an object, sometimes called a future or promise, that represents the ongoing events. Such an object will then typically come with a synchronizing operation that blocks until the operation is completed. Some programming languages, such as Cilk, have special syntax for expressing an asynchronous procedure call.[2]
Examples of asynchrony include the following:
- "Ajax", short for "asynchronous JavaScript and XML")[3][4][5] is a set of web development techniques utilizing many web technologies used on the client-side to create asynchronous I/O Web applications.
- Asynchronous method dispatch (AMD), a data communication method used when there is a need for the server side to handle a large number of long lasting client requests.[6]
References
- 1 2 Davies, Alex (2012). Async in C# 5.0. O'Reilly. pp. 1–2.
- ↑ McCool, Michael; Reinders, James; Robison, Arch (2013). Structured Parallel Programming: Patterns for Efficient Computation. Elsevier. p. 30.
- ↑ Chris Shiflett. "Ajax Is Not an Acronym".
- ↑ "AJAX vs Ajax - Ajax ofcourse! (Arun Gupta, Miles to go ...)".
- ↑ Jesse James Garrett (18 February 2005). "Ajax: A New Approach to Web Applications". AdaptivePath.com. Archived from the original on 2 July 2008. Retrieved 19 June 2008.
- ↑ ICE usage of AMD.