Método Increment de la clase Interlocked

19/10/2005 - 18:13 por luis | Informe spam
Según la ayuda este método "Aumenta el valor de una variable especificada y
almacena el resultado, como una operación atómica" pero ¿qué es lo que se
hace internamente para asegurarse que sea una opración atómica?

Preguntas similare

Leer las respuestas

#1 A.Poblacion
19/10/2005 - 23:23 | Informe spam
"luis" wrote in message
news:
Mostrar la cita
y
Mostrar la cita
Según me contaron a mi en un curso, lo que hace es que se compila a una
única instrucción de la CPU (tal como "INC EAX" o similar).
#2 Zephryn Xirdal
19/10/2005 - 23:44 | Informe spam
Hash: SHA1

A.Poblacion wrote:
Mostrar la cita
No necesariamente. El concepto de operación atómica consiste en que o se
realiza en su totalidad o no se realiza.

Imagina guardando una estructura a disco. Un sistema que garantice el
guardarla como operación atómica, una vez iniciada ésta, te garantiza
que se realiza al completo.

Tengamos en cuenta que la actualización de un registro en una base de
datos remota también se puede implementar como Operación Atómica, y
desde luego no se hace con una sóla instrucción en ensamblador.


#3 A.Poblacion
20/10/2005 - 08:23 | Informe spam
"Zephryn Xirdal" wrote in message
news:
Mostrar la cita
Ah, pero la clase Interlocked, a la que se refería la pregunta original,
no dispone de ninguna instrucción para actualizar registros en base de
datos. Tiene una instrucción Interlocked.Increment(variable), y otras
similares, que sí que se pueden compilar a una sola instrucción en
ensamblador. Y una sola instrucción, en la familia de procesadores i386,
siempre es atómica, estas CPUs nunca dejan una instrución a medio ejecutar.
#4 Zephryn Xirdal
20/10/2005 - 10:19 | Informe spam
Hash: SHA1

A.Poblacion wrote:
Mostrar la cita
Y creo que ningún micro.
Ads by Google
Search Busqueda sugerida