Ich weiß, dass ich ziemlich spät zu dieser Party komme, aber ich denke, es ist wichtig, das Problem zu verwirren, indem ich darauf hinweise, dass die Bedeutung von "starken und schwachen Speichermodellen" davon abhängt, ob Sie über Software oder Hardware sprechen.
Bei Hardware gibt schwach oder stark an, ob die sequentielle Konsistenz unterstützt wird.
[SC bedeutet, dass] ... das Ergebnis einer Ausführung dasselbe ist, als ob die Operationen aller Prozessoren in einer sequentiellen Reihenfolge ausgeführt würden, und die Operationen jedes einzelnen Prozessors in dieser Reihenfolge in der von seinem Programm angegebenen Reihenfolge erscheinen. - Lamport, 1979
WTF hat das mit Gedächtnis zu tun? Dies bedeutet, dass Schreibvorgänge von verschiedenen Prozessoren in Variablen von allen Prozessoren in derselben Reihenfolge angezeigt werden müssen. Bei Hardware mit einem starken Modell ist dies garantiert. Auf Hardware mit einem schwachen Modell ist dies nicht der Fall.
Bestehende Antworten interpretieren die Frage nur in Bezug auf Software-Speichermodelle. Hardware ist für die Programmierung nicht irrelevant. In dieser Frage wird iOS erwähnt, das normalerweise auf Arm7-Prozessoren ausgeführt wird. Arm7 hat ein schwaches Speichermodell. Für Programmierer, die an Prozessoren mit einem starken Modell gewöhnt sind - was wir alle sind, weil x86 und x64 ein starkes Modell haben - ist dies eine schreckliche Falle. Die Verwendung eines Bools, um einem anderen Thread das Beenden zu signalisieren, funktioniert in einem starken Modell einwandfrei. Der gleiche Code auf Arm funktioniert überhaupt nicht, es sei denn, Sie markieren die Flagge als flüchtig, und selbst dann ist sie unberechenbar.
Zwar ändert Arm8 + dies durch ausdrückliche Unterstützung für Erwerb / Veröffentlichung vollständig, ältere Software verwendet diese Unterstützung jedoch nicht. Legacy-Software umfasst alle drei Telefonbetriebssysteme und alles, was auf ihnen ausgeführt wird, sowie Compiler und Bibliotheken, bis sie aktualisiert werden.
Für eine ausführliche Untersuchung dieses Themas verweise ich Sie auf den unnachahmlichen Kräutersutter .