Leider gibt es keine festen Regeln für die Verwendung von Threads. Wenn Sie zu viele Threads haben, wird der Prozessor die ganze Zeit damit verbringen, zwischen ihnen zu generieren und zwischen ihnen zu wechseln. Wenn Sie zu wenige Threads verwenden, erhalten Sie in Ihrer Anwendung nicht den gewünschten Durchsatz. Außerdem ist das Verwenden von Threads nicht einfach. Eine Sprache wie C# erleichtert es Ihnen, weil Sie Werkzeuge wie ThreadPool.QueueUserWorkItem
haben. Dies ermöglicht dem System, Thread-Erstellung und -Zerstörung zu verwalten. Dies trägt dazu bei, den Aufwand beim Erstellen eines neuen Threads zu verringern, um die Arbeit weiterzugeben. Sie müssen daran denken, dass die Erstellung eines Threads keine Operation ist, die Sie für "kostenlos" erhalten. Mit dem Starten eines Threads sind Kosten verbunden, die immer berücksichtigt werden sollten.
Abhängig von der Sprache, die Sie zum Schreiben Ihrer Anwendung verwenden, geben Sie vor, wie viel Sie sich über die Verwendung von Threads Gedanken machen müssen.
Die Zeiten, die ich am häufigsten zu finden, dass ich Threads berücksichtigen müssen die Schaffung explizit sind:
- Asynchrone Operationen
- Operationen, die
Es wird tiefer gehende Antworten als meine geben, aber in Bezug auf die Benutzeroberfläche kann der Einsatz mehrerer Threads unter den richtigen Umständen dem Benutzer eine höhere Reaktionszeit geben, obwohl der Durchsatz geringer ist - zum Beispiel das Laden von Tabs in einem Web Browser, 1 Thread pro Tab. Es ist natürlich von Fall zu Fall. – Phil