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
- Programación informática
- Comunicación entre procesos
- Middleware
- esbozos de informática