Eine Speicherbarriere ist eine spezielle Prozessoranweisung, die der Reihenfolge, in der Speicherzugriffe für andere Prozessoren / Kerne in einem Multiprozessor- oder Mehrkernsystem sichtbar werden, Beschränkungen auferlegt.
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...
Frage, die ich seit Jahren habe:
In diesem Pseudocode,
%Vor%
.awaitTermination() ist nicht dokumentiert, da passiert, bevor zwischen Code A & amp; B. Gibt es einen Grund, warum es nicht ist?
Der ExecutorService und Gleichzeitige...
Wie wir aus C11-memory_order wissen: Ссылка
Und das gleiche aus C ++ 11-std :: memory_order: Ссылка
Auf stark geordneten Systemen ( x86 , SPARC, IBM Mainframe),
release-act-Bestellung ist automatisch. Keine zusätzlichen CPU-Anwei...
Ich habe einen Lock-Free-Code geschrieben, der gut mit Local funktioniert
liest, unter den meisten Bedingungen.
Bedeutet lokales Drehen auf einem Speicherlesen notwendigerweise I
müssen vor dem Drehen IMMER eine Speicherbarriere einlegen
gele...
Ich versuche mein Verständnis von Speicherbarrieren zu verbessern. Angenommen, wir haben ein schwaches Speichermodell und passen den Dekker-Algorithmus an. Ist es möglich, dass es durch das Hinzufügen von Speicherbarrieren unter dem Modell des...
Was ist Ihrer Meinung nach der beste Weg, den Erwerbsteil eines Releasepaares in Java zu implementieren?
Ich versuche, einige der Aktionen in einer Anwendung von mir zu modellieren, indem ich die klassische Semantik von release / acquire verw...
Ich habe einige Details zur Implementierung von ReentrantLock in "Java Concurrency in Practice" in Abschnitt 14.6.1 gelesen und etwas in der Anmerkung verwirrt mich:
Da die Methoden zur Manipulation des geschützten Zustands die Speichersem...
Versuchen, das Speichermodell von .net beim Threading zu verstehen. Diese Frage ist streng theoretisch und ich weiß, dass sie auf andere Weise aufgelöst werden kann, wie zum Beispiel die Verwendung einer Sperre oder das Markieren von _task als f...
In der Linux-Kernel-Spinlock-Implementierung für die TILE-Gx-Architektur sieht es so aus, als würden sie beim Sperren (nur beim Entsperren) keine Speicherbarrieren ausgeben:
Ссылка
Dann verstehe ich nicht, warum Befehle nicht über der Ve...