Capítulo 17. Características del lenguaje asíncrono

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

C# proporciona soporte a nivel de lenguaje para utilizar e implementar métodos asíncronos. Las API asíncronas suelen ser la forma más eficiente de utilizar determinados servicios. Por ejemplo, la mayor parte de la E/S se gestiona de forma asíncrona dentro del núcleo del SO, porque la mayoría de los periféricos, como las controladoras de disco o los adaptadores de red, pueden hacer la mayor parte de su trabajo de forma autónoma. Necesitan que la CPU intervenga sólo al principio y al final de cada operación.

Aunque muchos de los servicios que ofrecen los sistemas operativos son intrínsecamente asíncronos, los desarrolladores suelen optar por utilizarlos a través de API síncronas (es decir, que no devuelven hasta que se completa el trabajo). Esto puede malgastar recursos, porque bloquean el hilo hasta que se completa la E/S. Los hilos tienen sobrecargas, y si tu objetivo es obtener el mejor rendimiento en una aplicación altamente concurrente (por ejemplo, una aplicación web que sirve a un gran número de usuarios), suele ser mejor tener un número relativamente pequeño de hilos del SO. Lo ideal sería que tu aplicación no tuviera más subprocesos de sistema operativo que subprocesos de hardware, pero eso sólo es óptimo si puedes garantizar que los subprocesos sólo se bloquean cuando no tienen trabajo pendiente.(En el ...

Get Programación C# 12 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.