Asynchrony (computer programming) (original) (raw)
Asynchrony, in computer programming, refers to the occurrence of events independent 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. Asynchronous input/output is an example of the latter case 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.
Property | Value |
---|---|
dbo:abstract | Asynchrony, in computer programming, refers to the occurrence of events independent 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. Asynchronous input/output is an example of the latter case 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. A common way for dealing with asynchrony in a programming interface is to provide subroutines that return a future or promise that represents the ongoing operation, and a synchronizing operation that blocks until the future or promise is completed. Some programming languages, such as Cilk, have special syntax for expressing an asynchronous procedure call. Examples of asynchrony include the following: * Asynchronous procedure call, a method to run a procedure concurrently, a lightweight alternative to Threads. * Ajax is a set of client-side web technologies used on the 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. Using synchronous method dispatch (SMD), this scenario may turn the server into an unavailable busy state resulting in a connection failure response caused by a network connection request timeout. 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. (en) Асинхронное программирование — концепция программирования, которая заключается в том, что результат выполнения функции доступен не сразу же, а через некоторое время в виде некоторого асинхронного (нарушающего обычный порядок выполнения) вызова. В отличие от синхронного программирования, где компьютер выполняет инструкции последовательно и ожидает завершения системных операций (обращение к устройствам ввода-вывода, жесткому диску, сетевой запрос) блокируя следующие операции в потоке выполнения, в асинхронном программировании длительные операции запускаются без ожидания их завершения и не блокируя дальнейшее выполнение программы. Использование кода асинхронного программирования позволяет освободить поток выполнения, из которого он был запущен, что приводит к экономии ресурсов, а также предоставляет возможность параллельных вычислений. Асинхронное программирование используется для оптимизации с частым ожиданием системы. Пользователям программ с графическим интерфейсом пользователя асинхронное программирование обеспечивает быстрый отклик. Серверным приложениям асинхронное программирование предоставляет больше возможностей для масштабируемости, по сравнению с синхронным. Модели асинхронного программирования существуют во многих современных языках программирования, таких как C#, JavaScript, ASP.NET, Python и других. (ru) |
dbo:wikiPageID | 49031794 (xsd:integer) |
dbo:wikiPageLength | 3419 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1101422189 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Computer_network dbr:Concurrent_computing dbr:Cilk dbr:Control_flow dbr:Application_programming_interface dbr:Subroutine dbr:Client-side dbr:Computer_programming dbr:Parallel_computing dbr:Thread_pool_pattern dbc:Inter-process_communication dbc:Middleware dbc:Computer_programming dbr:Timeout_(computing) dbr:Web_application dbr:Futures_and_promises dbr:Ajax_(programming) dbr:Central_processing_unit dbr:Hang_(computing) dbr:Web_development dbr:Asynchronous_I/O dbr:Asynchronous_procedure_call dbr:Asynchronous_system dbr:Asynchronous_circuit dbr:Thread_(computing) dbr:Unix_signal dbr:Thread_(computer_science) |
dbp:wikiPageUsesTemplate | dbt:Comp-sci-stub dbt:R dbt:Reflist dbt:Short_description |
dcterms:subject | dbc:Inter-process_communication dbc:Middleware dbc:Computer_programming |
rdfs:comment | Asynchrony, in computer programming, refers to the occurrence of events independent 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. Asynchronous input/output is an example of the latter case 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. (en) Асинхронное программирование — концепция программирования, которая заключается в том, что результат выполнения функции доступен не сразу же, а через некоторое время в виде некоторого асинхронного (нарушающего обычный порядок выполнения) вызова. Модели асинхронного программирования существуют во многих современных языках программирования, таких как C#, JavaScript, ASP.NET, Python и других. (ru) |
rdfs:label | Asynchrony (computer programming) (en) Асинхронное программирование (ru) |
owl:sameAs | wikidata:Asynchrony (computer programming) dbpedia-ru:Asynchrony (computer programming) https://global.dbpedia.org/id/2NHDT |
prov:wasDerivedFrom | wikipedia-en:Asynchrony_(computer_programming)?oldid=1101422189&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Asynchrony_(computer_programming) |
is dbo:wikiPageDisambiguates of | dbr:Asynchrony |
is dbo:wikiPageRedirects of | dbr:Asynchronous_Method_Dispatch dbr:Asynchronous_method_dispatch dbr:Asynchronous_programming dbr:Asynchrony_(computing) |
is dbo:wikiPageWikiLink of | dbr:DNIX dbr:Comparison_of_Java_and_C++ dbr:Optical_disc_drive dbr:Middleware_(distributed_applications) dbr:Circuit_breaker_design_pattern dbr:ColdBox_Platform dbr:Freeciv dbr:Connected_Data_Objects dbr:Apache_HTTP_Server dbr:Signal_programming dbr:Job_sharing dbr:Dynamic_data dbr:Glyph_Lefkowitz dbr:Process_(computing) dbr:Async/await dbr:Asynchronous_method_invocation dbr:Swift_(programming_language) dbr:Asynchronous_Method_Dispatch dbr:Asynchronous_method_dispatch dbr:Asynchrony dbr:React_Native dbr:SIGNAL_(programming_language) dbr:Thread_pool dbr:Asynchronous_programming dbr:Asynchrony_(computing) |
is foaf:primaryTopic of | wikipedia-en:Asynchrony_(computer_programming) |