Cómo: Coordinar varios subprocesos de ejecución

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 carrera que provoquen daños en los datos. Las condiciones de carrera se puede evitar mediante bloqueos. Para obtener información detallada sobre la seguridad de los subprocesos y las condiciones de carrera, 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#

Referencia

BackgroundWorker

Conceptos

Componentes seguros para subprocesos

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

Otros recursos

Subprocesamiento múltiple en componentes