Ich habe einen Thread-Pool mit etwa 100 Threads. Während des Testens, wenn ich einige anomale Bedingungen einführe, wird der Gesamtprozess sehr langsam. Sobald ich die Dinge normal mache, wird der Prozess wieder schnell. Daher werden alle Threads ausgeführt.Detect wartende Threads in C Pthread
Ich möchte erkennen, welche Threads besonders langsam werden. Dazu möchte ich einen anderen Thread schreiben, dessen Aufgabe es sein wird, andere Threads im Auge zu behalten und periodisch zu berichten, welcher von ihnen auf die Freigabe einer Ressource wartet. Gibt es einen Weg (in Pthread) kann ich finden, welche Threads darauf warten, dass einige Ressourcen freigegeben werden, d. H. Welche Threads "hängen" - wenn es ein richtiger Begriff ist?
System: C, Pthread, Linux
PS: erwähnen Sie bitte in den Kommentaren, wenn Sie weitere Details benötigen.
Wahrscheinlich nicht, aber man könnte es vielleicht tun Sie selbst - Setzen Sie ein Flag auf "True", bevor Sie warten, und setzen Sie es nach dem Warten auf "False". – immibis
Wenn Sie "Ressource" sagen, meinen Sie eine Pthread-Sperre/Mutex oder etwas anderes? –
@JeremyFriesner Ja, wenn ich "Ressource" sage, meine ich einen Pthread Mutex. –