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