memory-barriers

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

Besteht .awaitTermination () vor der Arbeit im Executor?

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...
02.06.2015, 19:48
2
Antworten

Haben x86-SSE-Anweisungen eine automatische Freigabe-Übernahme-Reihenfolge?

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...
30.09.2013, 11:30
3
Antworten

Erfordern Spinlocks immer eine Speicherbarriere? Ist das Spinnen auf einer Speicherbarriere teuer?

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...
25.07.2011, 00:31
3
Antworten

Speicherbarrieren vs. verriegelte Operationen

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...
21.07.2010, 23:57
2
Antworten

Implementierung eines Acquires für eine Version von Unsafe.putOrdered * ()?

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...
08.05.2016, 22:14
2
Antworten

Wie funktioniert das Huckepackback der aktuellen Thread-Variable in ReentrantLock.Sync?

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...
11.09.2013, 03:17
2
Antworten

Threading & implizite Speicherbarrieren

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...
26.05.2014, 14:31
1
Antwort

Speicherbarrieren und Linux Kernel Spinlock auf TILE-Gx

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...
12.12.2013, 17:14