Suchergebnisse für Anfrage "condition-variable"
std :: condition_variable :: notify_one () wurde mehrmals aufgerufen, ohne den Kontext zu wechseln
Wie viele wartende Threads werden in diesem Beispiel aktiviert:1. Faden:
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 ...
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?
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 ...
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 ...
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); ...
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...
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 ); ...
Seite 1 von 2