Articulo de referencia

Asincronía (programación informática)

En programación informática , la asincronía se refiere a la ocurrencia de eventos independientes del flujo principal del programa y a las formas de gestionarlos. Estos pueden se...

En programación informática , la asincronía se refiere a la ocurrencia de eventos independientes del flujo principal del programa y a las formas de gestionarlos. Estos pueden ser eventos externos, como la llegada de señales , o acciones iniciadas por un programa que se ejecutan simultáneamente con su ejecución, sin que el programa se detenga a esperar resultados. [ 1 ] La entrada/salida asíncrona es un ejemplo de este último caso de asincronía y permite que los programas envíen comandos a dispositivos de almacenamiento o de red que atienden estas solicitudes mientras el procesador continúa ejecutando el programa. Esto proporciona cierto grado de concurrencia . [ 1 ]

Una forma común de manejar 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 el futuro o la promesa se complete. Algunos lenguajes de programación, como Cilk , tienen una sintaxis especial para expresar una llamada a procedimiento asíncrono. [ 2 ]

Algunos ejemplos de asincronía son los siguientes:

  • Llamada a procedimiento asíncrono , un método para ejecutar un procedimiento de forma concurrente, una alternativa ligera a los hilos .
  • Ajax es un conjunto de tecnologías web del lado del cliente que utiliza el cliente para crear aplicaciones web de E/S asíncronas .
  • El despacho de métodos asíncronos (AMD) es un método de comunicación de datos que se utiliza cuando el servidor necesita gestionar un gran número de solicitudes de clientes de larga duración. [ 3 ] Con el despacho de métodos síncronos (SMD), este escenario puede provocar que el servidor pase a un estado ocupado no disponible, lo que resulta en una respuesta de fallo de conexión debido a un tiempo de espera agotado en la solicitud de conexión de red . El servicio de una solicitud de cliente se despacha inmediatamente a un hilo disponible de un grupo de hilos y el cliente se pone en un estado de bloqueo. Al completarse la tarea, el servidor recibe una notificación mediante una devolución de llamada. El servidor desbloquea al cliente y le transmite la respuesta. En caso de inanición de hilos , los clientes se bloquean esperando a que haya hilos disponibles.

Véase también

Referencias

  1. ^ a b Davies, Alex (2012). Async en C# 5.0 . O'Reilly. págs.  1–2 . ISBN 9781449337124.
  2. ^ McCool, Michael; Reinders, James; Robison, Arch (2013). Programación paralela estructurada: patrones para una computación eficiente . Elsevier. pág. 30.
  3. ^ Uso de ICE de AMD .

Obtenido de " https://en.wikipedia.org/w/index.php?title=Asynchrony_(computer_programming)&oldid=1325407827 "