Ver Mensaje Individual
  #2  
Antiguo 18-02-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 17
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Conozco dos "InterlockedExchange"

Una de ellas esta definida en la unidad Windows.Winapi, y es una funcion que depende de una biblioteca externa; si vemos la declaracion:

Código Delphi [-]
function InterlockedExchange; external kernel32 name 'InterlockedExchange';

Por otro lado, la RTL de Delphi incluye una unidad, la System.SyncObjs en donde se define una clase
estatica que implementa la misma funcionalidad pero usando codigo Delphi; es decir, sin dependencias. De hecho, alguna de las funciones son implementadas "dentro del compilador", en lo que comunmente se le llama "magia" o en ingles "compiler magic", o el termino mas tecnico Intrinsic Routines

La clase en cuestion es la TInerlocked

La misma dispone de la funcion estatica Exchange que me imagino que servira para cualquiera de las plataformas que soporta Delphi

Saludos
Responder Con Cita