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