Subprocesamiento múltiple en componentes

El componente BackgroundWorker implementa algunas de las características de subprocesamiento en el espacio de nombres System.Threading; el componente BackgroundWorker es la manera más fácil de implementar la funcionalidad de multithreading. Para obtener más información, vea Información general sobre el componente BackgroundWorker.

El multithreading o subprocesamiento libre, es la capacidad de una aplicación para ejecutar varios subprocesos de operación simultáneamente. Un ejemplo de una aplicación multiproceso es un programa que reciba los datos introducidos por el usuario en un subproceso, realice una serie de cálculos complejos en un segundo subproceso y actualice una base de datos con un tercero. En una aplicación de un único subproceso, los usuarios pueden sufrir períodos de inactividad a la espera de que finalicen los cálculos o las actualizaciones de la base de datos. Sin embargo, en una aplicación multiproceso, estos procesos pueden llevarse a cabo en segundo plano de tal forma que el usuario no pierde tiempo.

El multithreading puede constituir una herramienta eficaz en la programación de componentes. Al escribir componentes multiproceso, se pueden crear componentes que realicen cálculos complejos en segundo plano mientras que se deja la interfaz de usuario (IU) libre para responder a los datos proporcionados por el usuario.

Aunque el multithreading puede ser una herramienta eficaz, también puede resultar difícil de aplicar correctamente. El código de multiproceso implementado incorrectamente puede degradar el rendimiento de las aplicaciones o, incluso hacer que éstas se bloqueen. Los temas siguientes presentan algunas de las consideraciones y prácticas adecuadas para la programación de multiprocesos.

.NET Framework proporciona varias opciones para el multithreading en componentes. La funcionalidad del espacio de nombres System.Threading es una opción. El modelo asincrónico basado en evento es otra. El componente BackgroundWorker es una implementación del modelo asincrónico; proporciona esa funcionalidad avanzada encapsulada en un componente para la facilidad de uso.

En esta sección

Referencia

  • BackgroundWorker (clase)
    Le permite ejecutar una operación en un subproceso independiente dedicado.

  • Thread
    Incluye información sobre la sintaxis y los miembros de la referencia de .NET Framework.

Secciones relacionadas

Tema Ubicación
Ejemplo de subprocesamiento Aplicaciones de ejemplo de C#
Ejemplo de subprocesamiento Aplicaciones de ejemplo de C#

Vea también

Otros recursos

Creación de componentes

Patrón asincrónico basado en eventos (EAP)