Share via


Subprocesamiento (Guía de programación de C#)

Actualización: noviembre 2007

El subprocesamiento permite al programa de C# efectuar procesamientos simultáneos a fin de que se pueda realizar más de una operación a la vez. Por ejemplo, puede utilizar el subprocesamiento para supervisar los datos introducidos por el usuario, realizar tareas en segundo plano y controlar flujos de entrada simultáneos. El espacio de nombres System.Threading proporciona clases e interfaces que admiten programación multiproceso y permiten realizar fácilmente tareas como crear e iniciar nuevos subprocesos, sincronizar varios subprocesos o suspender y anular subprocesos.

Para incorporar el subprocesamiento al código de C#, cree una función que se ejecutará fuera del subproceso principal y apunte un nuevo objeto Thread a ella. El ejemplo de código siguiente crea un nuevo subproceso en una aplicación de C#:

System.Threading.Thread newThread;
newThread = new System.Threading.Thread(anObject.AMethod);

El ejemplo de código siguiente inicia un nuevo subproceso en una aplicación de C#:

newThread.Start();

El subprocesamiento múltiple soluciona problemas de capacidad de respuesta y ejecución de varias tareas, pero puede representar problemas de sincronización y uso compartido de recursos porque los subprocesos se interrumpen y reanudan sin generar advertencias de acuerdo con un mecanismo central de programación de subprocesos. Para obtener más información, vea Sincronización de subprocesos (Guía de programación de C#). Vea Utilizar subprocesos y subprocesamiento para obtener información general.

Información general

Los subprocesos tienen las siguientes propiedades:

  • Los subprocesos permiten al programa en C# realizar el procesamiento simultáneo.

  • El espacio de nombres System.Threading de .NET Framework facilita el uso de los subprocesos.

  • Los subprocesos comparten los recursos de la aplicación. Para obtener más información, vea Utilizar subprocesos y subprocesamiento.

Secciones relacionadas

Vea los temas siguientes para obtener más información:

Especificación del lenguaje C#

Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#:

  • 3.10 Orden de ejecución

  • 8.12 La instrucción lock

  • 10.5.3 Campos volátiles

  • 10.8.1 Eventos de tipo campo

Vea también

Tareas

Ejemplo Monitor Synchronization Technology

Ejemplo Wait Synchronization Technology

Conceptos

Guía de programación de C#

Exclusiones mutuas (mutex)

Monitores

Operaciones de bloqueo

AutoResetEvent

Referencia

Thread

Mutex

Delegados (Guía de programación de C#)

Otros recursos

CÓMO: Sincronizar el acceso a un recurso compartido en un entorno de subprocesamiento múltiple mediante Visual C# .NET