Capítulo 8. Programación asíncrona, concurrencia y paralelismo

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Hasta ahora, en este libro hemos tratado sobre todo de programas síncronos, es decir, programas que reciben una entrada, hacen algo y se ejecutan hasta el final en una sola pasada. Pero los programas realmente interesantes -los componentes básicos de las aplicaciones del mundo real que realizan peticiones a la red, interactúan con bases de datos y sistemas de archivos, responden a la interacción del usuario, descargan el trabajo intensivo de la CPU en subprocesos independientes- utilizan API asíncronas como las devoluciones de llamada, las promesas y los flujos.

En estas tareas asíncronas es donde JavaScript realmente brilla y se distingue de otros lenguajes multihilo convencionales como Java y C++. Motores populares de JavaScript como V8 y SpiderMonkey hacen con un hilo lo que tradicionalmente requería muchos hilos, siendo inteligentes y multiplexando tareas en un solo hilo mientras otras tareas están inactivas. Este bucle de eventos es el modelo de subprocesamiento estándar para los motores de JavaScript, y el que supondremos que estás utilizando. Desde la perspectiva del usuario final, normalmente no importa si tu motor utiliza un modelo de bucle de eventos o uno multihilo, pero sí afecta a las explicaciones que daré sobre cómo funcionan las cosas y por qué las diseñamos como lo hacemos.

Este modelo ...

Get Programación TypeScript now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.