Compartir a través de


Cómo: Coordinar varios subprocesos de ejecución

Actualización: noviembre 2007

Para que los componentes multiproceso resulten seguros, se deberá coordinar el acceso a los recursos compartidos, ya que si varios subprocesos intentan obtener acceso a un recurso compartido al mismo tiempo, se pueden producir condiciones de anticipación que provoquen daños en los datos. Las condiciones de anticipación se puede evitar mediante bloqueos. Para obtener información detallada sobre la seguridad de los subprocesos y las condiciones de anticipación, vea Componentes seguros para subprocesos.

Para crear un bloqueo en un objeto

  1. Identifique el código que debe ejecutarse de forma atómica y el objeto en el que se debe ejecutar dicho código. Para obtener más información, vea Componentes seguros para subprocesos.

  2. Ubique un bloqueo en ese objeto e incluya el código dentro de dicho bloqueo.

    Este código se ejecutará ahora de forma atómica en el objeto bloqueado.

    SyncLock MyObject   ' This represents the start of the lock on MyObject.
    ' Insert code to be executed atomically on MyObject here.
    End SyncLock   ' This represents the end of the lock.
    
    lock (MyObject) 
       // All code inside the braces {} is executed with MyObject locked.
    {
       // Insert code to be executed atomically on MyObject here.
    }
    

Vea también

Tareas

Tutorial: Crear un componente sencillo con múltiples procesos en Visual Basic

Tutorial: Crear un componente sencillo con múltiples procesos en Visual C#

Conceptos

Componentes seguros para subprocesos

Información general sobre el modelo asincrónico basado en eventos

Referencia

BackgroundWorker

Otros recursos

Subprocesamiento múltiple en componentes