Bloqueo subprocesos son un tipo valor

29/01/2004 - 16:03 por Mario Barro | Informe spam
Hola a todos;

Cómo es posible realizar un bloqueo exclusivo para realizar una operación
atómica sobre una tipo valor.

Ejemplo:

private static int _miContador;

public static void AddContador( int cantidad )
{
//Generar bloqueo multiproceso.
_miContador += cantidad;
// Liberar bloqueo
}

Los tipos de bloqueos que he visto (lock, monitor) indican que no se deben
utilizar para tipos-valor.

y la clase Interloock no tiene métodos para añadir sumar una cantidad
variable.

Espero se entienda lo expuesto.

Saludos
Mario Barro
 

Leer las respuestas

#1 Rodrigo Corral González [MVP]
29/01/2004 - 18:36 | Informe spam
public static void AddContador( int cantidad )
{
lock(this) _miContador += cantidad;
}

De todos modos incrementar un int de 32 bits en plataforma Intel de 32 bits
es una operación atomica, no necesita sincronización pero nunca se sabe
sobre que plataformas correrá el .net en el futuro.

Rodrigo Corral González

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net

Preguntas similares