Tag: condition-variable
Ein Synchronisations-primitive verwendet in Multithread-Programmierung zu warten, bis eine Bedingung wahr ist.
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
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
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
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();
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 =
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
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
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
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,
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
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
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
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>
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
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
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
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
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
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,
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 |
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
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
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