Pthreads (POSIX Threads) ist eine standardisierte C-basierte API zum Erstellen und Bearbeiten von Threads. Es ist derzeit in POSIX.1-2008 (IEEE Std 1003.1, Ausgabe 2013 / Open Group Base Specifications, Ausgabe 7) definiert.
Ich habe irgendwo gelesen, dass wir den Mutex sperren sollten, bevor wir pthread_cond_signal aufrufen, und den Mutext entsperren sollten, nachdem wir ihn aufgerufen haben: Die Routine pthread_cond_signal () wird verwendet, um einen anderen Thread zu signalisieren (oder aufzuwecken), der auf die Bedingungsvariable wartet. Es sollte aufgerufen werden, nachdem der Mutex …
Ich habe versucht, die Feinheiten der Interaktion von POSIX-Threads und POSIX-Signalen zu verstehen. Insbesondere interessiert mich: Wie lässt sich am besten steuern, an welchen Thread ein Signal gesendet wird (vorausgesetzt, es ist überhaupt nicht schwerwiegend)? Was ist der beste Weg, um einem anderen Thread (der möglicherweise gerade beschäftigt ist) mitzuteilen, …
Das übliche Muster für eine Singleton-Klasse ist so etwas wie static Foo &getInst() { static Foo *inst = NULL; if(inst == NULL) inst = new Foo(...); return *inst; } Nach meinem Verständnis ist diese Lösung jedoch nicht threadsicher, da 1) der Konstruktor von Foo möglicherweise mehrmals aufgerufen wird (was möglicherweise …
Für etwas Einfaches wie einen Zähler, wenn mehrere Threads die Anzahl erhöhen. Ich habe gelesen, dass Mutex-Sperren die Effizienz verringern können, da die Threads warten müssen. Für mich wäre ein Atomzähler am effizientesten, aber ich habe gelesen, dass es sich im Grunde genommen im Grunde genommen um ein Schloss handelt. …
Erstens benutze ich die pthread-Bibliothek, um ein Multithreading-C-Programm zu schreiben. Fäden hingen immer an ihren warteten Mutexen. Wenn ich das Dienstprogramm strace verwende, um festzustellen, ob sich ein Thread im FUTEX_WAITStatus befindet, möchte ich wissen, welcher Thread diesen Mutex zu diesem Zeitpunkt enthält. Aber ich weiß nicht, wie ich es …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.