Von was ich gelesen habe Herb Sutter und others Sie würden denken, dass volatile
und gleichzeitige Programmierung vollständig orthogonale Konzepte waren, zumindest soweit C/C++ betroffen sind.Warum wird der flüchtige Qualifier durch std :: atomic verwendet?
In GCC implementation haben jedoch alle Mitgliedsfunktionen des Elements volatile
den Namen std::atomic
. Das gleiche gilt für Anthony Williams implementation von std::atomic
.
Also was ist Deal, müssen meine atomic<>
Variablen volatile
oder nicht sein?
+1 Mr.Williams ist hier auf SO, vielleicht kann er auftauchen und eine Antwort geben :) – AraK
Ich habe eine Frage über comp.std.C++ darüber gesehen. Denken Sie daran, dass "flüchtige" Garanten, die in einem einzelnen Thread lesen und schreiben, der Reihe nach ausgeführt werden und dass ein flüchtiges Objekt keine nichtflüchtigen Elementfunktionen aufrufen kann (genau wie const). Aber darüber hinaus habe ich keine Ahnung von Threads in C++. Jedes Mal, wenn ich versuche, im Standard darüber zu lesen, beginne ich damit, die schiere Menge an Umleitungen und Logiken im Text nicht zu erfassen. XD –