Actualmente la mayoría de los ordenadores tienen procesadores con varios núcleos, por lo que la programación multiproceso se ha vuelto una realidad y una necesidad para optimizar el rendimiento de las modernas aplicaciones. En este tema encontrarás artículos relacionados con la programación de aplicaciones multitarea.
-
04/09/2017
Con este artículo comienza una serie en la que voy a revisar los mecanismos básicos que proporciona .NET Framework para la implementación de aplicaciones multitarea. En primer lugar voy a mostrar las clases básicas que permiten lanzar múltiples procesos y hacer una comparativa de rendimiento entre ellas.
[Leer Mas...] -
19/09/2017
Después de revisar las clases para implementar la multitarea básica, en este artículo voy a revisar diferentes mecanismos que permiten realizar una sincronización entre varias tareas, todos ellos definidos en el espacio de nombres System.Threading, con los que se puede organizar el trabajo cuando las interacciones entre tareas requieren de un orden determinado.
[Leer Mas...] -
05/11/2017
En las aplicaciones multitarea existe una problemática con el acceso concurrente a los recursos, como archivos o memoria, por varias tareas simultáneamente. Dos tareas no pueden escribir al mismo tiempo en la misma dirección de memoria, es necesario asegurarse de que algunos datos no se modifiquen mientras los estamos leyendo o cosas por el estilo. En este artículo revisaré los mecanismos que proporciona .NET Framework para tratar con estos problemas.
[Leer Mas...] -
18/11/2017
Hasta ahora he mostrado ejemplos de multitarea que dejaban la aplicación bloqueada hasta que terminaban. Esto no resulta muy útil en la práctica. Lo normal es que el usuario pueda seguir interactuando con la aplicación mientras se ejecutan las tareas en el fondo, y que estas puedan interactuar a su vez con el interfaz de usuario.
[Leer Mas...] -
02/12/2017
Para finalizar esta serie sobre la programación de aplicaciones multitarea, voy a mostrar el uso de un sencillo mecanismo que permite implementar métodos asíncronos que permiten ceder sus tiempos de espera para la ejecución de otras tareas paralelas o eventos disparados por controles del interfaz de usuario.
[Leer Mas...] -
25/02/2022
Todas las aplicaciones de tratamiento masivo de datos se pueden beneficiar de la capacidad de proceso cada vez mayor que tienen los modernos equipos informáticos que ya están al alcance del bolsillo de cualquiera. En este artículo voy a presentar una comparativa básica de rendimiento entre varias plataformas CPU / GPU utilizando como base el archiconocido conjunto de Mandelbrot y su asombrosa representación gráfica.
[Leer Mas...]