Técnica de programación informática.
La asincronía , en programación de computadoras , se refiere a la ocurrencia de eventos independientes del flujo principal del programa y las formas de lidiar con dichos eventos. Estos pueden ser eventos "externos", como la llegada de señales o acciones instigadas por un programa que tienen lugar simultáneamente con la ejecución del programa, sin que el programa se cuelgue esperando resultados. [1] La entrada/salida asíncrona es un ejemplo del último caso de asincronía y permite a los programas emitir comandos a dispositivos de almacenamiento o de red que atienden estas solicitudes mientras el procesador continúa ejecutando el programa. Hacerlo proporciona cierto grado de paralelismo . [1]
Una forma común de lidiar con la asincronía en una interfaz de programación es proporcionar subrutinas que devuelvan un futuro o promesa que represente la operación en curso, y una operación de sincronización que se bloquee hasta que se complete el futuro o promesa. Algunos lenguajes de programación, como Cilk , tienen una sintaxis especial para expresar una llamada a un procedimiento asincrónico. [2]
Ejemplos de asincronía incluyen los siguientes:
- Llamada a procedimiento asincrónico , un método para ejecutar un procedimiento simultáneamente, una alternativa ligera a los subprocesos .
- Ajax es un conjunto de tecnologías web del lado del cliente utilizadas por el cliente para crear aplicaciones web de E/S asíncronas .
- Envío de método asincrónico (AMD), un método de comunicación de datos que se utiliza cuando es necesario que el lado del servidor maneje una gran cantidad de solicitudes de clientes de larga duración. [3] Al utilizar el envío de método síncrono (SMD), este escenario puede convertir el servidor en un estado ocupado no disponible, lo que resulta en una respuesta de falla de conexión causada por un tiempo de espera de solicitud de conexión de red . El servicio de una solicitud de cliente se envía inmediatamente a un subproceso disponible desde un grupo de subprocesos y el cliente pasa a un estado de bloqueo. Una vez completada la tarea, el servidor recibe una notificación mediante una devolución de llamada. El servidor desbloquea al cliente y transmite la respuesta al cliente. En caso de falta de subprocesos , los clientes se bloquean esperando a que los subprocesos estén disponibles.
Ver también
Referencias
- ^ ab Davies, Alex (2012). Asíncrono en C# 5.0. O'Reilly. págs. 1–2. ISBN 9781449337124.
- ^ McCool, Michael; Reinders, James; Robinson, arco (2013). Programación paralela estructurada: patrones para una computación eficiente . Elsevier. pag. 30.
- ^ Uso de ICE de AMD.