Tag: condition-variable

Ein Synchronisations-primitive verwendet in Multithread-Programmierung zu warten, bis eine Bedingung wahr ist.

Wie können Sie bei der Implementierung einer condition variable mit einer Semaphore?

Anzahl der Antworten 3 Antworten
Einer Weile habe ich darüber nachgedacht, wie die Umsetzung verschiedener Synchronisations-primitive, die in Bezug auf einander. Zum Beispiel, in pthreads Sie bekommen Mutexe und condition-Variablen und-aus diesen bauen kann Semaphoren. In der Windows-API (oder zumindest ältere Versionen

threading.Bedingung vs threading.Event

Anzahl der Antworten 2 Antworten
Ich habe noch zu finden, eine eindeutige Erklärung der Unterschiede zwischen Condition und Event Klassen in der threading Modul. Gibt es eine klare Anwendungsfall, in dem ein hilfreicher wären als die anderen? Alle Beispiele, die ich finden

Verriegelung C++11 std::unique_lock Ursachen deadlock Ausnahme

Anzahl der Antworten 1 Antworten
Ich versuche, einen C++11 std::condition_variable, aber wenn ich versuche zu sperren, die unique_lock Zusammenhang mit ihm von einem zweiten thread, bekomme ich eine exception "Resource deadlock vermieden". Der thread, der erstellt, es kann sperren und entsperren Sie

std::condition_variable unechte blockiert

Anzahl der Antworten 4 Antworten
Wie Sie wissen -, Bedingungs-Variablen aufgerufen werden soll-Zyklus zu vermeiden, spurious wake-ups. Wie diese: while (not condition) condvar.wait(); Wenn ein anderer thread aufwachen möchte wartenden thread, muss er set-Zustand-flag auf true. E. g.: condition = true; condvar.notify_one();

Wie Zu Verwenden Condition Variable

Anzahl der Antworten 1 Antworten
The Linux Programming Interface Buch ist ein Stück code (Produzent/konsument), um zu zeigen, wie die condition-variable funktioniert: static pthread_mutex_t mtx = PTHREAD_MUTEX_INITIALIZER; static pthread_cond_t cond = PTHREAD_COND_INITIALIZER; static int avail = 0; while (TRUE) { s =

Was passiert, wenn ich den Anruf warten auf eine benannte Bedingung variable

Anzahl der Antworten 2 Antworten
Angenommen ich habe zwei Threads und eine gemeinsam genutzte c++ 11-Bedingung variable. was passiert, wenn thread1 Anruf informieren, und nach, dass Thread2 verzahnt Anruf warten? wird Thread2 verzahnt block-für immer oder wird es weiterhin seine Arbeit durch

Wie eine condition_variable wirklich wait_for nicht mehr als eine bestimmte Dauer

Anzahl der Antworten 3 Antworten
Als es stellt sich heraus,, condition_variable::wait_for sollte wirklich genannt werden condition_variable::wait_for_or_possibly_indefinitely_longer_than, denn es muss erneut die Sperre, bevor wirklich timing und zurückgeben. Sehen dieses Programm für eine demonstration. Gibt es eine Möglichkeit, um auszudrücken, "Schauen Sie, ich

C++11 Threads: Mehrere threads warten auf eine condition variable

Anzahl der Antworten 4 Antworten
Ich arbeite derzeit an einem problem, das simuliert eine erweiterte Hersteller-Worker-Modell. In diesem problem, gibt es 3 Arbeiter und 3 Werkzeuge zur Verfügung, und für die Arbeitnehmer zu arbeiten, Sie benötigen 2 Werkzeuge (und Materialien, aber die

Was passiert beim Aufruf von Destruktor eines thread-Objekts, das über eine condition variable warten?

Anzahl der Antworten 3 Antworten
Ich bin mit einem SynchronisedQueue zur Kommunikation zwischen den threads. Ich fand, dass die Zerstörung der thread-Objekt, wenn die Anbringung thread wartet auf eine bedingungsvariable würde dazu führen, das Programm zum Absturz bringen. Dies kann korrigiert werden,

Was ist der Unterschied zwischen busy-wait und polling?

Anzahl der Antworten 2 Antworten
Aus dem Wikipedia-Artikel über Polling Abruf-oder Polling-Betrieb, in der informatik, bezieht sich auf aktiv-sampling-den status eines externen Geräts von einem client-Programm als eine synchrone Aktivität. Polling ist meist in Bezug auf die Eingabe/Ausgabe (I/O) und wird auch

Stoppen C++ 11 std::threads warten auf eine std::condition_variable

Anzahl der Antworten 2 Antworten
Ich versuche zu verstehen, die grundlegende multithreading-Mechanismen in den neuen standard C++ 11. Die meisten basic-Beispiel, das ich denken kann, ist die folgende: Ein Produzent und ein Verbraucher erfolgt in separaten threads Der Hersteller eine bestimmte Menge

Beispiel zur Verwendung von boost::Zustand::timed_wait

Anzahl der Antworten 1 Antworten
Hat jemand ein Beispiel, wie leicht die Verwendung von boost::Zustand::timed_wait? Es gibt einige threads zu dem Thema hierhier und hieraber keine Funktion ein Beispiel. Und boost-doc ist wie üblich ziemlich spärlich. InformationsquelleAutor der Frage Cookie | 2011-08-16

Teilen Sie Bedingung, die die variable & mutex zwischen Prozessen: ist der mutex muss verriegelt sein, bevor?

Anzahl der Antworten 3 Antworten
Muss ich einige wenig Hilfe um zu verstehen, wie bedingungsvariablen in C zu lösen, eine übung. Hier ist ein kleines Beispiel: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <pthread.h> #include <string.h> #include <errno.h> #include <sys/types.h> #include <sys/mman.h>

Muss ich die Sperre erwerben, bevor ich condition_variable.notify_one () aufruft?

Anzahl der Antworten 4 Antworten
Ich bin ein wenig verwirrt über den Einsatz von std::condition_variable. Ich verstehe, dass ich haben, um eine unique_lock auf eine mutex vor dem Aufruf condition_variable.wait(). Was ich nicht finden kann ist, ob ich Sie auch erwerben ein

Warum benötigen pthreads Zustandsvariablenfunktionen einen Mutex?

Anzahl der Antworten 9 Antworten
Bin ich beim Lesen auf pthread.h; die condition-variable verbundene Funktionen (wie pthread_cond_wait(3)) erfordern einen mutex als argument. Warum? Soweit ich sagen kann, ich werde Schaffung eines mutex nur zu verwenden, da das argument? Was ist das mutex

C ++ 11 Thread-sichere Warteschlange

Anzahl der Antworten 7 Antworten
Einem Projekt an dem ich arbeite verwendet mehrere threads, um die arbeiten, die auf eine Sammlung von Dateien. Jeder thread kann Dateien hinzufügen, um die Liste der Dateien, die verarbeitet werden, so dass ich zusammen gestellt habe

Verwenden der Bedingungsvariablen in einer Produzenten-Konsumenten-Situation

Anzahl der Antworten 1 Antworten
Ich versuche zu lernen über den Zustand von Variablen und wie benutzt man es in einer Erzeuger-Verbraucher-situation. Ich habe eine Warteschlange, wo ein thread schiebt zahlen in der Warteschlange, während ein anderer thread knallen die zahlen aus

Wann wird eine Zustandsvariable benötigt, reicht ein Mutex nicht aus?

Anzahl der Antworten 6 Antworten
Ich bin mir sicher, dass mutex ist nicht genug das ist der Grund, das Konzept des condition-Variablen existieren; aber es schlägt mich, und ich bin nicht in der Lage, mich davon zu überzeugen, die mit einem konkreten

Was ist der Unterschied zwischen notify_all () und notify_one () von std :: condition_variable?

Anzahl der Antworten 1 Antworten
Derzeit, ich bin die Implementierung einer multi-thread-Projekt mit std::thread in C++11. Ich benutze std::condition_variable zum synchronisieren von threads. Im detail, ein Verbraucher-Funktion ruft wait() member-Funktion von std::condition_variable zu warten, für die Aufgabe, aus einer globalen Warteschlange Aufgabe,

Unterschiede zwischen Bedingungsvariablen, Mutexen und Sperren

Anzahl der Antworten 2 Antworten
Beispielsweise die c++0x-Schnittstellen Ich habe eine harte Zeit, herauszufinden, Wann welche dieser Dinge (Lebenslauf, mutex und lock). Kann bitte jemand erklären, oder zeigen Sie auf eine Ressource? Vielen Dank im Voraus. InformationsquelleAutor der Frage Ronny Brendel |

Aufruf von pthread_cond_signal ohne Mutex zu sperren

Anzahl der Antworten 3 Antworten
Ich habe irgendwo gelesen, dass sollten wir sperren die mutex vor dem Aufruf pthread_cond_signal und entsperren der mutext nach Aufruf: Den pthread_cond_signal () - routine verwendet, um signal (oder aufwachen) noch ein thread wartet auf die Bedingung

Was ist der beste Weg, auf mehrere Bedingungsvariablen in C ++ 11 zu warten?

Anzahl der Antworten 3 Antworten
Ersten ein wenig Kontext: ich bin in den Prozess des Lernens über threading in C++11 und für diesen Zweck, die ich versuche zu bauen, ein kleines actor Klasse, die im wesentlichen (ich ließ die Ausnahmebehandlung und die

Bedingungsvariable - Warum ist das Aufrufen von Pthread_cond_signal () vor dem Aufruf von pthread_cond_wait () ein logischer Fehler?

Anzahl der Antworten 4 Antworten
Es ist geschrieben im POSIX-threads tutorial https://computing.llnl.gov/tutorials/pthreads/ es ist ein logischer Fehler. meine Frage ist, warum es ist ein logischer Fehler? In meinem Programm muss ich verwenden diese Signale, jedoch kann ich nicht garantieren, dass es einen