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

Warum brauchen wir nicht flüchtig mit StampedLock?

Gegeben ein Codebeispiel aus Oracle-Dokumenten Ссылка %Vor% Und vorausgesetzt, dass alle Methoden der Klasse Point aus verschiedenen Threads aufgerufen werden können: Warum brauchen wir die Felder x und y nicht unbedingt als flüchtig d...
30.08.2017, 09:05
1
Antwort

Was passiert nach dem Schreiben in eine flüchtige Variable?

Ich frage mich, ob das Schreiben in eine flüchtige Variable jvm zwingt, alle nichtflüchtigen Variablen mit dem Speicher zu synchronisieren, also zum Beispiel, was im folgenden Code passieren wird: %Vor% x wird in die Erinnerung geschrieben,...
20.08.2011, 01:40
2
Antworten

Volatile funktioniert nicht wie erwartet

Betrachten Sie diesen Code: %Vor% Mit g++ -std=c++14 -pedantic -O3 bekomme ich diese Assembly: %Vor% Nach meiner Schätzung sollte die Variable x mindestens dreimal (möglicherweise vier) geschrieben werden, aber nicht einmal einmal...
07.05.2016, 01:38
7
Antworten

Woher weiß ich, ob gcc zustimmt, dass etwas volatil ist?

Betrachten Sie Folgendes: %Vor% Woher weiß ich, ob gcc mich als volatil behandelt hat oder nicht? Es würde als solches deklariert werden, da kein nahegelegener Code es modifizieren wird, und eine Modifikation davon wahrscheinlich auf einen I...
13.03.2009, 12:59
1
Antwort

Sind flüchtige Datenelemente trivial kopierbar?

Während ich diese Antwort schrieb , wurde mir klar, dass ich nicht so überzeugt von meinen Schlussfolgerungen bin, wie ich normalerweise vor dem Schlagen sicherstellen würde Hinterlegen Sie Ihre Antwort . Ich finde ein paar ziemlich überzeu...
15.11.2012, 22:57
4
Antworten

volatile für den Referenztyp in .net 4.0

Ich habe mich bei volatile für den Referenztyp verwirrt. Ich verstehe, dass für den primitiven Typ volatile Wertänderungen von einem anderen Thread sofort widerspiegeln kann. Als Referenztyp kann er die Adressänderungen sofort widerspie...
28.12.2011, 23:26
4
Antworten

Warum Volatile sich seltsam benimmt

Ich habe dieses merkwürdige Verhalten des volatilen Keywords kürzlich erfahren. Soweit ich weiß, Das flüchtige Schlüsselwort wird auf die Variable angewendet, um die an den Daten vorgenommenen Änderungen widerzuspiegeln die Variable um eine...
01.07.2012, 10:49
1
Antwort

Wie tief schwankende Veröffentlichung garantiert?

Wie bekannt ist, garantieren wir, dass wenn wir eine Objektreferenz haben und diese Referenz ein letztes Feld hat - wir sehen alle erreichbaren Felder vom letzten Feld (zumindest wenn der Konstruktor fertig war) Beispiel 1: %Vor% Wie ich...
02.02.2017, 21:31
5
Antworten

Sicher, volatile bool zu verwenden, um einen anderen Thread zum Warten zu zwingen? (C ++)

Alles, was ich über volatile gelesen habe, sagt, dass es nie sicher ist, aber ich fühle mich immer noch geneigt, es zu versuchen, und ich habe dieses spezifische Szenario, das als unsicher erklärt wurde, nicht gesehen. Ich habe einen separate...
25.02.2013, 18:41
6
Antworten

Warum gibt POSIX mmap keine flüchtige void * zurück?

Mmap gibt ein void *, aber kein volatile void* zurück. Wenn ich den gemeinsamen Speicher mit mmap abbilde, könnte ein anderer Prozess in diesen Speicher schreiben, was bedeutet, dass zwei aufeinanderfolgende Lesevorgänge vom gleichen Speicher...
08.07.2010, 20:18