Subprocesamiento administradoManaged Threading

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.Whether you are developing for computers with one processor or several, you want your application to provide the most responsive interaction with the user, even if the application is currently doing other work. 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.Using multiple threads of execution is one of the most powerful ways to keep your application responsive to the user and at the same time make use of the processor in between or even during user events. Si bien esta sección presenta los conceptos básicos del subprocesamiento, se centra en los conceptos del subprocesamiento administrado y su uso.While this section introduces the basic concepts of threading, it focuses on managed threading concepts and using managed threading.

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 nuevas en el espacio de nombres System.Collections.Concurrent y un nuevo modelo de programación basado en el concepto de tareas en lugar de subprocesos.Starting with the .NET Framework 4, multithreaded programming is greatly simplified with the System.Threading.Tasks.Parallel and System.Threading.Tasks.Task classes, Parallel LINQ (PLINQ), new concurrent collection classes in the System.Collections.Concurrent namespace, and a new programming model that is based on the concept of tasks rather than threads. Para más información, consulte Parallel Programming (Programación en paralelo).For more information, see Parallel Programming.

En esta secciónIn This Section

Principios básicos del subprocesamiento administradoManaged Threading Basics
Proporciona información general sobre el subprocesamiento administrado y describe cuándo usar varios subprocesos.Provides an overview of managed threading and discusses when to use multiple threads.

Usar subprocesos y subprocesamientoUsing Threads and Threading
Explica cómo crear, iniciar, pausar, reanudar y anular subprocesos.Explains how to create, start, pause, resume, and abort threads.

Procedimientos recomendados para el subprocesamiento administradoManaged Threading Best Practices
Se describen los niveles de sincronización, cómo evitar interbloqueos y condiciones de carrera y otros problemas de subprocesos.Discusses levels of synchronization, how to avoid deadlocks and race conditions, and other threading issues.

Objetos y características de subprocesosThreading Objects and Features
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.Describes the managed classes you can use to synchronize the activities of threads and the data of objects accessed on different threads, and provides an overview of thread pool threads.

ReferenciaReference

System.Threading
Contiene clases para usar y sincronizar subprocesos administrados.Contains classes for using and synchronizing managed threads.

System.Collections.Concurrent
Contiene clases de colección seguras para usarlas con varios subprocesos.Contains collection classes that are safe for use with multiple threads.

System.Threading.Tasks
Contiene clases para crear y programar tareas de procesamiento simultáneo.Contains classes for creating and scheduling concurrent processing tasks.

Dominios de aplicaciónApplication Domains
Proporciona información genera sobre los dominios de aplicación y de su uso en Common Language Infrastructure.Provides an overview of application domains and their use by the Common Language Infrastructure.

Asynchronous File I/OAsynchronous File I/O
Describe las ventajas de rendimiento y el funcionamiento básico de la E/S asincrónica.Describes the performance advantages and basic operation of asynchronous I/O.

Task-based Asynchronous Pattern (TAP) (Modelo asincrónico basado en tareas [TAP])Task-based Asynchronous Pattern (TAP)
Proporciona una introducción del patrón recomendado para programación asincrónica en. NET.Provides an overview of the recommended pattern for asynchronous programming in .NET.

Llamada a métodos sincrónicos de forma asincrónicaCalling Synchronous Methods Asynchronously
Explica cómo llamar a métodos en los subprocesos de grupos de subprocesos con características integradas de delegados.Explains how to call methods on thread pool threads using built-in features of delegates.

Programación en paraleloParallel Programming
Describe las bibliotecas de programación en paralelo, las que simplifican el uso de varios subprocesos en las aplicaciones.Describes the parallel programming libraries, which simplify the use of multiple threads in applications.

Parallel LINQ (PLINQ)Parallel LINQ (PLINQ)
Describe un sistema para ejecutar consultas en paralelo a fin de aprovechar los distintos procesadores.Describes a system for running queries in parallel, to take advantage of multiple processors.