D-Funktion des x86 cmpxchg Compare-and-Swap mit
Lösung
Aus der Dokumentation unter: http://www.digitalmars.com/d/ 2.0 / overview.html
Inline-Assembler
Die Gerätetreiber, hohe Leistung Systemanwendungen, eingebettete Systeme, und spezialisierte Code manchmal müssen Tauchen Sie ein in Assembler-Sprache zu bekommen die Job erledigt. Während D-Implementierungen nicht erforderlich, um die Inline zu implementieren Assembler ist definiert, und ein Teil von die Sprache. Die meisten Assembler-Code Bedürfnisse können damit behandelt werden, die Beseitigung der muß für separate Monteure oder DLL.
Viele D-Implementierungen werden auch intrinsische Funktionen unterstützen analog zu C Unterstützung von intrinsics für I / O-Port-Manipulation, direkter Zugang zu speziellem floating Point-Operationen, etc.
So können Sie in der Theorie könnte direkt den cmpxchg verwenden.
Bearbeiten
Sie wollen aussehen kann unter: http://www.dsource.org/projects/tango/browser/trunk/tango/core/Atomic.d?rev=4277
Es dauert eine Weile, aus irgendeinem Grunde zu laden, aber es wird mit der cmpxchg Anweisung intern, sollte es trivial wäre es für Ihre Zwecke zu umrüsten.