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
- Programación multiproceso para componentes con System.Threading
Describe el uso del espacio de nombres System.Threading para crear componentes multiproceso.
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
Programación multiproceso con el modelo asincrónico basado en eventos
Describe la manera normalizada de empaquetar componentes que tienen características asincrónicas.Multithreading in Visual Basic
Proporciona vínculos a varios temas relacionados con el uso del multithreading en Visual Basic.Procedimientos recomendados para el subprocesamiento administrado
Proporciona instrucciones para utilizar características de subprocesamiento administradas.
Topic | Location |
---|---|
Ejemplo de subprocesamiento | Aplicaciones de ejemplo de C# |
Ejemplo de subprocesamiento | Aplicaciones de ejemplo de C# |