wenig threads aber viele prozesse??



  • hallo,

    wenn ich irgendwie 200 threads in meinem programm erzeuge, wird alles ziemlich langsam... der scheduler von windows hat anscheinend zu viel zu tun??

    aber laufen doch auf einem windows rechner tausende von diensten (bissl uebertrieben)... wieso kann windows denn zwischen so vielen prozessen wechseln, aber nicht zwischen meinen 200 threads?

    weiss dass windows eigentlich ne black box ist... aber kann man das irgendwie begruenden?? so nach dem motto, der wechsel zwischen prozessen geht schneller weil...

    vielen dank



  • Task-Manager starten und links unten schauen. Da steht wieviele Prozesse grad laufen. Im Normalfall wesentlich weniger als 200 und der Großteil der Threads die im Leistungstab angezeigt werden, schläft wohl.



  • moklok schrieb:

    wenn ich irgendwie 200 threads in meinem programm erzeuge, wird alles ziemlich langsam...

    Kommt halt auch drauf an, was deine Threads machen.(?)



  • Vor allem frag ich mich: Was genau bezweckst du mit 200 Threads?



  • frage ist rein theorethischer natur... wollt einfach nur n bissl mehr duchblick haben...

    es werden ja immer, je nach dem auf welcher maschine ich arbeite, empfohlen maximal x threads zu erzeugen. wollt einfach mal gucken, was da dran ist und wie weit ich das treiben kann, wenn ich das denn irgendwann mal benoetige...

    hab mir immer eingebildet, dass windows im hintergrund soviel macht... aber dann ist die antwort ganz trivial?? windows hat da zwar ne menge am laufen, aber nicht 200 prozesse und die meisten davon schlafen die ganze zeit??



  • Klar, praktisch jeder Hintergrundprozess wartet auf I/O oder auf exklusiven Resourcenzugriff. Solange die Prozesse blockieren, werden sie vom Scheduler nicht in Betracht gezogen.



  • Wenn ständig irgendwelche Prozesse laufen würden, dann wär die CPU Auslastung im Normalzustand wohl bei 100% und nicht irgendwo zwischen 0% und 5% 😉



  • Windows macht keinen (großen) Unterschied zwischen Threads und Prozessen (ein Prozess ist ein Thread mit min. einem Thread).



  • Jochen Kalmbach schrieb:

    Windows macht keinen (großen) Unterschied zwischen Threads und Prozessen (ein Prozess ist ein Thread mit min. einem Thread).

    Muss der Scheduler fast machen, sonst würde single-task Anweisungen stark benachteiligt werden.



  • vielen dank fuer die antworten


Anmelden zum Antworten