lock-free

Ein Oberbegriff für Methoden und Algorithmen zum Synchronisieren von Multithread-Umgebungen oder anderen Formen verteilter Systeme ohne Verwendung von Sperren.
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

Concurrent C ++ 11 - Welche Toolchains können verwendet werden?

Ich verwende <thread> <atomic> <mutex> etc stark in meinem Code, der mehrere Lock-Free-Algorithmen enthält. Ich ziele (schließlich) auf eine Linux-Umgebung. Ich habe mit der Beta von Visual Studio 2011 entwickelt, die, obwoh...
07.04.2012, 15:41
1
Antwort

Warum ist das Ergebnisobjekt in FutureTask nichtflüchtig?

Ich habe die FutureTask-Klasse in jsr166 gelesen, festgestellt, dass das Ergebnisobjekt nicht-flüchtig ist, die Kommentare im Code sind "nicht flüchtig, geschützt durch Zustand liest / schreibt" Zeile 75, der Zustand ist flüchtig int. Ich habe J...
21.01.2013, 04:08
3
Antworten

Neuordnung von Operationen in der Umgebung von volatile

Ich schaue mir gerade eine Implementierung des Copy-on-Write-Sets an und möchte bestätigen, dass es Thread-sicher ist. Ich bin ziemlich sicher, dass der einzige Weg, es möglicherweise nicht ist, wenn der Compiler Anweisungen in bestimmten Method...
06.07.2012, 07:07
1
Antwort

Verwendung von std :: memory_order_consume in der blockierungsfreien SPSC-Warteschlange von Folly

Bei dem Versuch, zu verstehen, wie mit sperrfreiem Code umgegangen werden soll, habe ich versucht, eine einzige blockierungsfreie Warteschlange für Verbraucher / Einzelhersteller zu schreiben. Wie immer habe ich Papiere, Artikel und Code überprü...
22.03.2016, 15:57
3
Antworten

C ++ 11 Lockfree Single Producer Single Consumer: Wie vermeidet man busy wait

Ich versuche eine Klasse zu implementieren, die zwei Threads verwendet: einen für den Produzenten und einen für den Konsumenten. Die aktuelle Implementierung verwendet keine Sperren: %Vor% Die Anwendung muss Arbeitselemente für einen bestimm...
09.06.2014, 12:06
1
Antwort

Ruhezustand basierte Reklamation gegen epochenbasierte Reklamation

Ich untersuche die verschiedenen Arten von Speicherwiederherstellungsstrategien für blockierungsfreie Datenstrukturen in einer nicht-garbage-collected-Umgebung (wie C oder C ++). In meinen Experimenten habe ich einige dieser Strategien erfolg...
12.04.2016, 12:31
4
Antworten

Verwirrung über Implementierungsfehler in shared_ptr destructor

Ich habe gerade Herb Sutter Vortrag gesehen: C ++ und darüber hinaus 2012: Herb Sutter - atomare & lt; & gt; Waffen, 2 von 2 Er zeigt einen Fehler bei der Implementierung von std :: shared_ptr destructor: %Vor% Er sagt, dass memory_orde...
14.02.2013, 17:54
1
Antwort

Gut getestete C / C ++ - Sperr-Warteschlange? [Duplikat]

Ich suche nach einer gut getesteten, öffentlich verfügbaren C / C ++ - Implementierung einer blockierungsfreien Warteschlange. Ich brauche mindestens Multiple-Producer / Single-Consumer-Funktionalität. Mehrfachverbraucher sind sogar besse...
27.04.2010, 09:07
2
Antworten

Ist standardmäßig std :: vector threadsicher und gleichzeitig? Warum oder warum nicht?

Was bedeutet es, ein dynamisches Array threadsicher und gleichzeitig zu machen? Sagen Sie beispielsweise std::vector . Zwei Threads möchten möglicherweise an der gleichen Position eingefügt werden. Es ist keine Synchronisation erforderlich...
30.06.2015, 07:07