C++ Builder 2009 Professinal erzeugt in Anwendung unnötige Threads



  • Hallo!

    Warum erzeugt der C++ Builder 2009 Professinal unnötige Threads?

    Wenn man zum Beispiel eine leere VCL Forms Anwendung erzeugt und den TOpenDialog benutzt und aufruft, hat die EXE anschliessend dann 14 Threads unter Windows 7 32bit und unter Windows XP Pro SP3 4 Threads anstatt 1.

    Habe alle aktuellen Updates installiert.



  • Um das prüfen zu können wäre es wichtig, zu wissen, wie du die "Messwerte" jeweils ermittelst.



  • Hallo2 schrieb:

    Wenn man zum Beispiel eine leere VCL Forms Anwendung erzeugt und den TOpenDialog benutzt und aufruft

    ..., dann ruft die VCL eine Windows-Funktion auf, die für den Dialog verantwortlich zeichnet, in diesem Zuge aber gewisse Teile der Shell-Unterstützung in den Prozeß lädt und vermutlich deshalb diverse zusätzliche Threads erstellt.



  • Ich starte hierfür den Taskmanager und lasse die Spalte "Threads anzeigen".

    Wie kann man dann die unnötigen Threads säubern? Oder muss man damit leben?



  • Hallo2 schrieb:

    Oder muss man damit leben?

    Du kannst natürlich immer den Windows-eigenen Shell-Dialog ignorieren und deinen eigenen schreiben, sicherlich sehr zur Freude deiner Benutzer. Ansonsten mußt du damit leben. Aber warum stört dich das?



  • Die Threads sind überflüssig. Wenn ich selbst Threads verwende, wäre dies recht unübersichtlich wenn ich kontrollieren will, wieviele Threads laufen.

    Gut, ich hab zwar während dem schreiben des Quelltextes immer noch die Einsicht wo wann ich welche Threads erzeugem, aber zum debuggen etc. wäre dies unübersichtlich da ich so dann nicht weiss welcher Thread von mir ist.



  • Hallo2 schrieb:

    Die Threads sind überflüssig.

    Nein.

    Hallo2 schrieb:

    aber zum debuggen etc. wäre dies unübersichtlich da ich so dann nicht weiss welcher Thread von mir ist.

    Geht ganz einfach, wenn du deine Threads benennst.


Anmelden zum Antworten