volatile

Volatile ist ein Qualifikationsmerkmal, das zum Definieren eines Datenspeicherbereichs (Objekt, Feld, Variable, Parameter) verwendet wird, der "sich selbst ändern kann", wodurch einige Code-Generator-Optimierungen nicht zulässig sind. In einigen aber nicht allen Sprachen, die diesen Qualifier erkennen, ist der Zugriff auf solche Daten threadsicher.
1
Antwort

Visual C ++ flüchtig

Die MSDN-Dokumentation für "volatile" in Visual C ++ gibt an, dass Schreibvorgänge "release semantics" haben und Lesevorgänge "Semantik erwerben" haben, zusätzlich dazu, dass Lesevorgänge immer aus dem Speicher gelesen werden und dass Schreibvor...
21.09.2011, 18:17
1
Antwort

Zwischenzeiger in der Besetzung müssen "const qualifiziert" sein - warum?

Im folgenden Code ... %Vor% ... der Compiler erkennt zu Recht, dass mögliche Zugriffe auf die Daten, auf die von p in work verwiesen wird, gefährliche Zugriffe sind. Wie es ist, weist der Code den Compiler an, dass es sicher ist, Code...
01.02.2018, 10:41
1
Antwort

Warum wird eine volatile lokale Variable anders als ein volatiles Argument optimiert, und warum erzeugt der Optimierer eine No-Op-Schleife von letzterer?

Hintergrund Dies wurde durch diese Frage / Antwort und anschließende Diskussion in den Kommentaren inspiriert: Ist die Definition von "volatile" dies volatil, oder ist GCC mit einigen Standard-Kompatibilitätsproblemen? . Basierend auf der In...
06.07.2016, 22:55
3
Antworten

'volatile', um die Variable zwischen Threads zu synchronisieren

Ich habe eine Variable int foo , auf die von zwei Threads zugegriffen wird. Angenommen, ich habe keine Race-Condition-Probleme (der Zugriff ist durch einen Mutex geschützt, alle Operationen sind atomar oder was auch immer für andere Methoden z...
08.08.2013, 20:04
3
Antworten

Schreibzugriff auf flüchtiges Feld synchronisieren (günstiger Lese- / Schreibblock)

Sagen wir, ich habe die folgende Klasse, die schwer gelesen wird, aber nur gelegentlich geschrieben wird. Es wird in einer Multithread-Web-App verwendet, daher muss es Thread-sicher sein: %Vor% Java Concurrency ( Ссылка ) gibt an, dass dies...
05.03.2013, 01:36