Asynchrony (computer programming): Difference between revisions

Content deleted Content added
AnomieBOT (talk | contribs)
m Dating maintenance tags: {{Merge from}}
rewrite definition; note that Non-blocking algorithm is about a different notion of blocking
Line 1:
{{merge from|Asynchronous method dispatch|date=January 2016}}
<!-- DO NOT ADD DISAMBIGUATION TAGS TO THIS PAGE (per [[WP:INCOMPDAB]] and [[WP:DABCONCEPT]]) -->
'''Asynchrony''', in [[computer programming]], isrefers to the occurrence of asynchronous events, which are those occurring independently of the main [[control flow|program flow]] and ways to deal with such events. AsynchronousThese actionsmay be "outside" events such as the arrival of [[Unix signal|signals]], areor actions executedinstigated inby a program that take place [[Non-blockingconcurrent algorithmcomputing|non-blockingconcurrently]] schemewith program execution, allowingwithout the main program flowwaiting ("blocking") to continuewait processingfor results.<ref>[http://msdn2.microsoft.com/en-us/library/7ch3stsw.aspx Microsoft documentation describing ''asynchronous message processing''. Accessed on 09-09-2007.]</ref> Asynchrony[[Asynchronous inI/O|Asynchronous computinginput/output]] andis computeran programmingexample occurof inthe [[concurrentlatter computing]]cause of asynchrony, whileand asynchronouslets functionprograms callsissue occurcommands into [[futuresstorage andor promisesnetwork devices that service these requests while the [[processor]] continues executing the program.
 
A common way for dealing with asynchrony in a [[application programming interface|programming interface]] is to provide [[subroutine]]s (methods, functions) that return to their caller an object, sometimes called a [[futures and promises|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.
Examples include:
 
* [[Asynchronous I/O]], a form of input/output processing that permits other processing to continue before the transmission has finished. "[[Ajax (programming)|Ajax]]", short for "asynchronous [[JavaScript]] and [[XML]]")<ref>{{cite web|url=http://shiflett.org/blog/2007/apr/ajax-is-not-an-acronym|title=Ajax Is Not an Acronym|author=Chris Shiflett|publisher=}}</ref><ref>{{cite web|url=https://blogs.oracle.com/arungupta/entry/ajax_vs_ajax_ajax_ofcourse|title=AJAX vs Ajax - Ajax ofcourse! (Arun Gupta, Miles to go ...)|publisher=}}</ref><ref name="garrett">{{cite web
==Examples include:==
* [[Asynchronous I/O]], a form of input/output processing that permits other processing to continue before the transmission has finished. "[[Ajax (programming)|Ajax]]", short for "asynchronous [[JavaScript]] and [[XML]]")<ref>{{cite web|url=http://shiflett.org/blog/2007/apr/ajax-is-not-an-acronym|title=Ajax Is Not an Acronym|author=Chris Shiflett|publisher=}}</ref><ref>{{cite web|url=https://blogs.oracle.com/arungupta/entry/ajax_vs_ajax_ajax_ofcourse|title=AJAX vs Ajax - Ajax ofcourse! (Arun Gupta, Miles to go ...)|publisher=}}</ref><ref name="garrett">{{cite web
| url=http://www.adaptivepath.com/ideas/essays/archives/000385.php
| title=Ajax: A New Approach to Web Applications