Tag: lock-free

Einen Oberbegriff für Methoden und algorithmen zum synchronisieren von Multithread-Umgebungen oder anderen Formen des verteilten Systems ohne Verwendung sperren.

Ist std::ifstream thread-sicher & lock-frei?

Anzahl der Antworten 3 Antworten
Ich ausführen möchten, öffnen für das Lesen einer einzelnen Datei aus vielen threads mit std::ifstream. Meine Sorge ist, wenn std::ifstream ist thread-sicher & lock-frei? Mehr details: Ich verwende g++ 4.4, Ubuntu & Windows XP, 4.0, auf Leopard.

C++11 lockless queue mit std::atomic (multi writer, einzelne Verbraucher)

Anzahl der Antworten 2 Antworten
Ich produziert haben, die eine einfache Umsetzung der lockless (lockfree) Warteschlange mit der neuen std::atomic in C++11. Ich kann nicht sehen, was ich falsch mache hier. #include <atomic> template<typename T> class lockless_queue { public: template<typename DataType> struct

GCC Atomic Gelieferten statt pthread?

Anzahl der Antworten 5 Antworten
Habe ich folgenden Artikel gefunden: Verwenden Sie GCC-vorausgesetzt, Atomare Vorgänge sperren zu ersetzen Funktionen pthread_mutex_lock Er bezieht sich auf GCC Atomic Gelieferten. Was die Artikel vorschlagen, ist, GCC zu verwenden atomic gelieferten statt pthread-Synchronisierung-tools. Ist das eine

Wann sind lock-freie Datenstrukturen weniger performant als gegenseitigen Ausschluss (Mutexe)?

Anzahl der Antworten 6 Antworten
Ich habe irgendwo gelesen (kann nicht finden, die Seite nicht mehr), dass lock-free data-Strukturen sind effizienter "für bestimmte workloads" das scheint zu bedeuten, manchmal sind Sie wirklich langsamer oder der Gewinn aus Ihnen kann null sein in

C-code von lock-free queue

Anzahl der Antworten 5 Antworten
Wie könnte ich dies umsetzen lock-free queue pseudocode in C? ENQUEUE(x) q ← new record q^.value ← x q^.next ← NULL repeat p ← tail succ ← COMPARE&SWAP(p^.next, NULL, q) if succ ≠ TRUE COMPARE&SWAP(tail, p, p^.next)

Speicher Barrieren im userspace? (Linux, x86-64)

Anzahl der Antworten 8 Antworten
Es ist einfach einzurichten Speicher-Barrieren auf der kernel-Seite: die Makros mb, wmb, rmb, usw. sind immer an Ort und Stelle Dank der Linux-kernel-Header. Wie dies auf der Benutzer-Seite? InformationsquelleAutor | 2009-07-26

Shared-memory IPC-Synchronisation (lock-frei)

Anzahl der Antworten 1 Antworten
Betrachten Sie das folgende Szenario: Anforderungen: Intel x64 Server (mehrere CPU-sockel => NUMA) Ubuntu 12, GCC 4.6 Zwei Prozesse, welche große Mengen von Daten über (benannte) shared-memory - Klassischen Erzeuger-Verbraucher-Szenario Speicher angeordnet ist, in einen Ringspeicher (mit

Auf der Suche für die richtige ring-Puffer für die Implementierung in C

Anzahl der Antworten 2 Antworten
Ich bin auf der Suche nach einem ring-buffer-Implementierung (oder pseudocode) in C mit den folgenden Eigenschaften: mehrere Produzent single-consumer-pattern (MPSC) Verbraucher-Blöcke auf leeren Produzenten block auf volle lock-frei ist (ich erwarte hohe Konflikte) Bisher arbeite ich nur

Ist es möglich zu implementieren lock frei-map in C++

Anzahl der Antworten 6 Antworten
Entwickeln wir eine Netzwerk-Anwendung basierte C/S -, wir finden, es gibt zu viele Schlösser hinzufügen zu std::map, dass die Leistung der server wurde schlecht. Frage ich mich, ob es möglich ist, implementieren Sie eine lock-frei-Karte, wenn ja,

Lock-Free Mehrere Producer/Consumer-Warteschlange in C++11

Anzahl der Antworten 3 Antworten
Ich versuche, die Implementierung eines lock frei mehrere Produzent, mehrere Konsumenten-queue in C++11. Ich Tue dies als eine Lernübung, so bin ich mir wohl bewusst, dass ich nur verwenden Sie eine vorhandene open-source-Implementierung, aber ich würde wirklich

boost c++ - lock-free queue vs shared queue

Anzahl der Antworten 4 Antworten
Ich bin ganz neu bei multithreading-Programmierung, ich weiß nur, das die meisten gemeinsamen Producer-Consumer-Queue. Ich bin mit der boost c++ - Bibliotheken, und ich weiß nicht, ob besser ist die Verwendung von boost::lockfree::queue oder eine wrapper-Klasse um

C++ Atomare Operationen für lock-freien Strukturen

Anzahl der Antworten 2 Antworten
Ich bin die Implementierung eines lock-free-Mechanismus mit atomarer (double) vergleichen und swap-Anweisungen z.B. cmpxchg16b Bin ich derzeit Schreibe dies in der Montage und dann verknüpfen Sie es in. Allerdings fragte ich mich, ob es war ein Weg,

Wie kann garantiert werden, 64-bit-Schreibvorgänge atomar?

Anzahl der Antworten 8 Antworten
Wann kann 64-bit-schreibt garantiert atomar sind, wenn die Programmierung in C auf einem Intel-x86-Plattform (insbesondere einem Intel-basierten Mac mit Mac OS x 10.4 mit Intel-compiler)? Zum Beispiel: unsigned long long int y; y = 0xfedcba87654321ULL; /* ...

Lock-Free Queue — Single-Produzent, Mehrere Konsumenten

Anzahl der Antworten 3 Antworten
Ich bin auf der Suche nach einer Methode, die zu implementieren lock-free queue-Datenstruktur, die unterstützt die einzelnen Erzeuger und mehrere Verbraucher. Ich habe mir bei der klassischen Methode von Maged Michael und Michael Scott (1996), aber Ihre

Hat ein mehrere Produzent single consumer lock-free queue existieren für c++?

Anzahl der Antworten 4 Antworten
Je mehr ich lese desto verwirrter werde ich... ich hätte gedacht, dass es trivial zu finden, eine formal korrekte mpsc-queue in c++ implementiert. Jedes mal ich finde ein weiterer Dolchstoß ist es, weitere Forschung zu suggerieren scheint,

Sperren Sie den freien Stapel und die Warteschlange in C #

Anzahl der Antworten 4 Antworten
Weiß jemand, ob es irgendwelche lock-frei container-Bibliotheken zur Verfügung .NET ? Vorzugsweise etwas, das nachweislich funktioniert und schneller ist als die Synchronisierte Wrapper haben wir in .NET. Ich habe einige Artikel auf der .NET, aber keiner von

atomare Betriebskosten

Anzahl der Antworten 3 Antworten
Was ist die Kosten für die atomaren operation (jeder von vergleichen-und-tauschen-oder atomic-hinzufügen/Dekrement)? Wie viel Zyklen wird verbraucht? Wird es halten Sie die anderen Prozessoren auf einem SMP-oder NUMA -, oder block-Speicher zugreift? Wird es bündig reorder buffer

Ist es möglich, eine lockfreie Map in C ++ zu implementieren?

Anzahl der Antworten 6 Antworten
Entwickeln wir eine Netzwerk-Anwendung basierte C/S -, wir finden, es gibt zu viele Schlösser hinzufügen zu std::map, dass die Leistung der server wurde schlecht. Frage ich mich, ob es möglich ist, implementieren Sie eine lock-frei-Karte, wenn ja,

Lock-Free Multithreading ist für echte Threading-Experten

Anzahl der Antworten 6 Antworten
War ich mit dem Lesen durch eine Antwortdass Jon Skeet gab eine Frage, und er erwähnt dies: Soweit ich bin besorgt, lock-free multi-threading ist für die Echtzeit-threading-Experten, von denen ich nicht einen einzigen. Seine nicht das erste

Runder, lockfreier Puffer

Anzahl der Antworten 14 Antworten
Ich bin in den Prozess der Entwicklung eines Systems die Verbindung zu einem oder mehr Datenstrom-feeds und einige Analyse auf die Daten als trigger-Ereignisse basierend auf dem Ergebnis. In einem typischen multi-threaded-producer/consumer-setup, habe ich mehrere Produzenten-threads Daten

Portable Compare And Swap (atomare Operationen) C / C ++ - Bibliothek?

Anzahl der Antworten 9 Antworten
Gibt es eine kleine Bibliothek, die wrapps verschiedenen Prozessoren CAS-ähnliche Operationen in Makros oder Funktionen, die sind tragbar über mehrere Compiler? PS. Die atomic.hpp-Bibliothek ist innerhalb von boost::interprocess::detail-namespace. Der Autor weigert sich, es zu machen, eine öffentliche,

Gibt es eine produktionsfertige, lockfreie Warteschlange oder Hash-Implementierung in C ++?

Anzahl der Antworten 15 Antworten
Ich ve wurde googeln schon einiges für einen lock-free queue in C++. Ich fand einige code und einige Studien - aber nichts, ich war in der Lage zu kompilieren. Ein lock-free hash wäre auch willkommen. ZUSAMMENFASSUNG: Bisher