Suchergebnisse für Anfrage "condition-variable"

18 die antwort

Warum benötigen die Funktionen der Bedingungsvariablen von pthreads einen Mutex?

Ich lese gerade aufpthread.h; die bedingungsvariablenbezogenen Funktionen (wiepthread_cond_wait(3)) erfordern einen Mutex als Argument. Warum? Soweit ich das beurteilen kann, werde ich einen Mutex erstellengerad als Argument verwenden? Was soll ...

4 die antwort

Mutex werden benötigt, um die Bedingungsvariablen zu schützen

Wie gesagt, werden Mutex benötigt, um die Bedingungsvariablen zu schützen.Wird hier der Verweis auf die aktuelle Zustandsvariable als deklariert?

2 die antwort

std :: condition_variable - Warten Sie, bis mehrere Threads den Beobachter benachrichtigt haben

mein Problem sieht so aus: Ich habe einen Beobachter, der eine std :: condition_variable und einen std :: mutex enthält. Meine Worker-Thread-Objekte haben einen Zeiger auf den Beobachter. Jedes Mal, wenn ein Worker-Thread seinen Job beendet ...

TOP-Veröffentlichungen

1 die antwort

Benötigen Bedingungsvariablen noch einen Mutex, wenn Sie den überprüften Wert atomar ändern?

Hier ist die typische Art, eine Bedingungsvariable zu verwenden: // The reader(s) lock(some_mutex); if(protected_by_mutex_var != desired_value) some_condition.wait(some_mutex); unlock(some_mutex); // The writer lock(some_mutex); ...

1 die antwort

Verwendung einer Bedingungsvariablen in einer Erzeuger-Verbraucher-Situation

Ich versuche etwas über Bedingungsvariablen zu lernen und wie man sie in einer Erzeuger-Verbraucher-Situation verwendet. Ich habe eine Warteschlange, in der ein Thread Zahlen in die Warteschlange schiebt, während ein anderer Thread Zahlen aus der ...

2 die antwort

Warum gibt es keine Wartefunktion für condition_variable, die den Mutex nicht erneut sperrt

Betrachten Sie das folgende Beispiel. std::mutex mtx; std::condition_variable cv; void f() { { std::unique_lock<std::mutex> lock( mtx ); cv.wait( lock ); // 1 } std::cout << "f()\n"; } void g() { std::this_thread::sleep_for( 1s ); ...

2 die antwort

Muss ich std :: condition_variable / condition_variable_any :: notify_one synchronisieren?

3 die antwort

Was passiert, wenn der Destruktor eines Thread-Objekts aufgerufen wird, auf das eine Bedingungsvariable wartet?

Ich benutze eine

2 die antwort

Unterschiede zwischen bedingten Variablen, Mutexen und Sperren

Zum Beispiel diec ++ 0x SchnittstellenEs fällt mir schwer, herauszufinden, wann ich welche dieser Dinge verwenden soll (Lebenslauf, Mutex und Sperre). Kann j...

1 die antwort

std :: condition_variable :: notify_one () wurde mehrmals aufgerufen, ohne den Kontext zu wechseln

Wie viele wartende Threads werden in diesem Beispiel aktiviert:1. Faden: