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
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.
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
Conceptos
Componentes seguros para subprocesos
Información general sobre el modelo asincrónico basado en eventos