Subprocesamiento administrado

Tanto si va a desarrollar aplicaciones para equipos con uno o varios procesadores, desea que la aplicación proporcione la interacción con mayor capacidad de respuesta con el usuario, incluso si la aplicación actualmente hace otro trabajo. Usar varios subprocesos de ejecución es una de las formas más eficaces de mantener que la aplicación siga respondiendo al usuario y, al mismo tiempo, usar el procesador entre eventos de usuario o durante los mismos. Si bien esta sección presenta los conceptos básicos del subprocesamiento, se centra en los conceptos del subprocesamiento administrado y su uso.

Nota

A partir de .NET Framework 4, la programación multiproceso se ha simplificado significativamente con las clases System.Threading.Tasks.Parallel y System.Threading.Tasks.Task, Parallel LINQ (PLINQ), clases de colecciones simultáneas en el espacio de nombres System.Collections.Concurrent y un modelo de programación basado en el concepto de tareas en lugar de subprocesos. Para más información, consulte Programación en paralelo.

En esta sección

Principios básicos del subprocesamiento administrado
Proporciona información general sobre el subprocesamiento administrado y describe cuándo usar varios subprocesos.

Usar subprocesos y subprocesamiento
Explica cómo crear, iniciar, pausar, reanudar y anular subprocesos.

Procedimientos recomendados para el subprocesamiento administrado
Se describen los niveles de sincronización, cómo evitar interbloqueos y condiciones de carrera y otros problemas de subprocesos.

Objetos y características de subprocesos
Describe las clases administradas que puede usar para sincronizar las actividades de subprocesamientos y los datos de objetos accedidos en distintos subprocesos, y proporciona información general sobre los subprocesos de grupos de subprocesos.

Referencia

System.Threading
Contiene clases para usar y sincronizar subprocesos administrados.

System.Collections.Concurrent
Contiene clases de colección seguras para usarlas con varios subprocesos.

System.Threading.Tasks
Contiene clases para crear y programar tareas de procesamiento simultáneo.

Dominios de aplicación
Proporciona información genera sobre los dominios de aplicación y de su uso en Common Language Infrastructure.

E/S de archivos asincrónica
Describe las ventajas de rendimiento y el funcionamiento básico de la E/S asincrónica.

Modelo asincrónico basado en tareas (TAP)
Proporciona una introducción del patrón recomendado para programación asincrónica en. NET.

Llamada a métodos sincrónicos de forma asincrónica
Explica cómo llamar a métodos en los subprocesos de grupos de subprocesos con características integradas de delegados.

Programación en paralelo
Describe las bibliotecas de programación en paralelo, las que simplifican el uso de varios subprocesos en las aplicaciones.

Parallel LINQ (PLINQ)
Describe un sistema para ejecutar consultas en paralelo a fin de aprovechar los distintos procesadores.