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
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.
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.
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
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden