Kati82 Geschrieben 4. Mai 2009 Geschrieben 4. Mai 2009 Hallo, ich bräuchte mal einen Tipp von euch. Ich habe einen Thread, der mehrmals aufgerufen wird. Das habe ich durch einen Threadpool gelöst. Ich muss noch dazu sagen, dass z.B. Thread1 zur gleichen Zeit mehrmals laufen kann. Kann ich irgendwie herausfinden, wieviele Threads sich im Threadpool befinden? In der MSDN finde ich nur diese GetMaxThreads und GetMinThreads. Das ist aber nicht ganz das, was ich möchte. Gibts da noch ne extra Methode oder muss ich mir dafür eine eigene Variable erstellen und dann mitzählen, wie oft ich den Thread hinzugefügt habe. Vielen Dank schon mal im voraus. Gruß Kati82 Zitieren
Guybrush Threepwood Geschrieben 4. Mai 2009 Geschrieben 4. Mai 2009 Zähl doch einfach selber mit Zitieren
Kati82 Geschrieben 4. Mai 2009 Autor Geschrieben 4. Mai 2009 Ok, da komme ich also nicht drum herum. Ich hatte nur gehofft, dass es irgendwie eleganter geht. Aber danke für die schnelle Antwort. Zitieren
Klotzkopp Geschrieben 4. Mai 2009 Geschrieben 4. Mai 2009 GetMaxThreads liefert die maximale Threadanzahl des Pools. GetAvailableThreads liefert die Anzahl der noch zur Verfügung stehenden (also nicht aktiven) Threads. Die Differenz sollte der Wert sein, den du suchst. Aber ich frage mich, wozu du das brauchst. Das klingt für mich nicht elegant, sondern möglicherweise unsauber. Zitieren
Kati82 Geschrieben 5. Mai 2009 Autor Geschrieben 5. Mai 2009 Hallo, das mit den GetAvailableThreads habe ich wohl überlesen in der MSDN. Danke für den Hinweis. Die Anzahl der Threads brauche ich nur für Debugging-Ausgaben. Was meinst du mit unsauber? Gruß KT82 Zitieren
Klotzkopp Geschrieben 5. Mai 2009 Geschrieben 5. Mai 2009 Was meinst du mit unsauber? Damit meine ich, Informationen von der Laufzeitumgebung anzufordern, die bei ordentlicher Programmierung eigentlich im Programm verfügbar oder zumindest leicht zu ermitteln sein müssten. Zum Beispiel die Frage nach einer "Gib-allen-Speicher-frei"-Funktion, weil man die Allokationen im Programm nicht ordentlich verwaltet und nachgehalten hat, und die Speicherlecks nicht in den Griff bekommt. Aber wie gesagt, das ist nur ein Indiz. Wenn du diese Information nicht zur Programmsteuerung benötigst, sondern nur zu Debug- oder Testzwecken, oder als Statusinformation für den Benutzer, ist das in Ordnung. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.