mutex

Ein Mutex ("wechselseitiger Ausschluss") ist ein Mechanismus zur Sicherstellung der Integrität, wenn auf dieselben Daten oder dieselbe Ressource gleichzeitig von mehreren Threads zugegriffen (insbesondere geändert) wird.
3
Antworten

boost :: mutex :: ~ mutex (): Die Assertion '! pthread_mutex_destroy (& m)' ist fehlgeschlagen

Ich habe den Unterschriftsfehler im Mutex-Destruktor erhalten. Da der Fehler aufgrund des Mutex während der Zerstörung im Sperrzustand sein kann, erstelle ich eine neue Mutex-Klasse, die von boost: mutex geerbt wird. Es ist sicherzustellen, dass...
19.10.2011, 06:01
4
Antworten

pthread_mutex_lock, wie nicht gesperrt wird, wenn es sich um denselben Thread handelt

Ich verwende pthread_mutex_t zum Sperren. %Vor% Sagen wir, ich habe nur einen Thread, der die Funktion aufruft, also: get1 sperrt den m_lock und ruft get2 auf, aber wenn er versucht, m_lock zu sperren, wartet er, dass die Sperre entsperrt wi...
07.10.2016, 11:57
4
Antworten

Gemeinsame Daten in einem Signal-Handler lesen

Ich bin in einer Situation, in der ich einen binären Suchbaum (BST) in einem Signal-Handler lesen muss ( SIGSEGV Signal-Handler, der nach meinem Wissen pro Thread-Basis ist). Die BST kann von den anderen Threads in der Anwendung geändert werden...
13.12.2011, 16:00
3
Antworten

Warum Mutex als Parameter an eine Funktion übergeben wird, die von einem Thread aufgerufen wird?

An einigen Stellen habe ich Leute gesehen, die einen Thread-Pool erstellt und Threads erstellt und eine Funktion mit diesen Threads ausgeführt haben. Beim Aufruf dieser Funktion wird boost :: mutex als Referenz übergeben. Warum ist es so? Ich gl...
26.09.2011, 12:49
3
Antworten

Entwerfen Sie eine Klasse, die nur dann eine Sperre bereitstellt, wenn keine Deadlocks möglich sind

Ich bin vor kurzem auf diese Interviewfrage gestoßen (die in einem Forum gepostet wurde, wo es irgendwas gibt ... sieht so aus, als wäre das eine echte Interviewfrage):    Entwerfen Sie eine Klasse, die nur dann eine Sperre bereitstellt, wenn...
02.03.2011, 18:18
4
Antworten

Warum Mutex anstelle der booleschen Variablen für die Thread-Synchronisation verwenden?

Ich versuche die Multithreading-Programmierung in C zu verstehen. Ich bezweifle, dass wir, da wir MUTEXES für die Thread-Synchronisation verwenden, die Boolesche Variable nicht verwenden können, um den kritischen Bereich des auszuführenden Co...
23.10.2013, 06:11
3
Antworten

Benötige ich Mutex im Konstruktor für das Feld?

Nehmen wir an, ich habe eine einfache Klasse A mit einem Feld in C ++. Dieses Feld wird im Konstruktor initialisiert. Klasse A hat auch eine Methode namens doit() , um den Wert dieses Feldes zu ändern. doit() wird von mehreren Threads aufg...
12.10.2012, 10:34
6
Antworten

Sind Spinlocks eine gute Wahl für einen Speicherzuordner?

Ich habe den Betreuern der D-Programmiersprachen-Laufzeit ein paar Mal vorgeschlagen, dass der Speicherzuordner / Speicherbereiniger Spinlocks anstelle von regulären Betriebssystem-kritischen Abschnitten verwenden sollte. Das hat sich nicht wirk...
15.12.2009, 21:46
3
Antworten

Mutex als Klassenmitglied

%Vor% Wenn diese Klasse auf dem Heap ( temp* T = new temp() ) zugeordnet ist, ist dies threadsicher (für jede Instanz, nicht alle Instanzen zusammen)? Wenn ich boost::mutex mx - & gt; boost::mutex* mx , und es im Konstruktor zuwei...
10.05.2011, 08:10
1
Antwort

Fehler bei der Verwendung von Mutex

wenn ich versuche, eine Map mit String als Schlüssel und pthread_mutex_t als Element zu erstellen, %Vor% dies erzeugt:    phase3: pthread_mutex_lock.c: 312: __pthread_mutex_lock_full: Behauptung   '(- (e))! = 3 || ! robust 'gescheitert....
24.12.2011, 23:27