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:
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?



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).
Respuesta Responder a este mensaje
#2 Zephryn Xirdal
19/10/2005 - 23:44 | Informe spam
Hash: SHA1

A.Poblacion wrote:
"luis" wrote in message
news:

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?




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).





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.


Respuesta Responder a este mensaje
#3 A.Poblacion
20/10/2005 - 08:23 | Informe spam
"Zephryn Xirdal" wrote in message
news:
No necesariamente. El concepto de operación atómica consiste en que o se
realiza en su totalidad o no se realiza.

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.



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.
Respuesta Responder a este mensaje
#4 Zephryn Xirdal
20/10/2005 - 10:19 | Informe spam
Hash: SHA1

A.Poblacion wrote:
"Zephryn Xirdal" wrote in message
news:

No necesariamente. El concepto de operación atómica consiste en que o se
realiza en su totalidad o no se realiza.

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.




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.





Y creo que ningún micro.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida