Warum wird .net Threadpool nur für Aufgaben mit kurzer Zeitspanne verwendet?

Ich habe an vielen Stellen gelesen, dass .net Threadpool für Aufgaben mit kurzer Zeitspanne gedacht ist (möglicherweise nicht mehr als 3 Sekunden). Bei all diesen Erwähnungen habe ich keinen konkreten Grund gefunden, warum es nicht verwendet werden sollte.

Sogar einige Leute sagten, dass es zu bösen Ergebnissen führt, wenn wir für lange Zeit Aufgaben verwenden und auch zu Deadlocks führt.

Kann es jemand mit technischen Gründen in einfachem Englisch erklären, warum wir den Thread-Pool nicht für Aufgaben mit langer Zeitspanne verwenden sollten?

Um genau zu sein, möchte ich sogar ein Szenario angeben und möchte wissen, warum ThreadPool in diesem Szenario nicht mit den richtigen Gründen verwendet werden sollte.

Szenario Ich muss einige Tausend Benutzerdaten verarbeiten. Die Verarbeitungsdaten des Benutzers werden aus einer lokalen Datenbank abgerufen und verwenden diese Informationen, um eine Verbindung zu einer API herzustellen, die an einem anderen Speicherort gehostet wird. Die Antwort der API wird nach der Verarbeitung in der lokalen Datenbank gespeichert.

Wenn jemand mir Fallstricke in diesem Szenario erklären kann, wenn ich ThreadPool mit einem Thread-Limit von 20 verwende? Die Verarbeitungszeit jedes Benutzers kann zwischen 3 Sekunden und 1 Minute (oder länger) liegen.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage