Hallo,
ich habe eine Frage zur Verwendung von Threads. Aber erst einmal einige Informationen:
Ich entwickle gerade einen Server, der an einem
IP-Port lauscht. Sobald da eine Verbindung zustandekommt, erstelle ich einen neuen Thread für die Verbindung und lausche wieder. Diese Verbindungen können dann für mehrere Stunden bestehen.
Aus diesem Grund ist es möglich, dass der Server ziemlich viele Verbindungen gleichzeitig bedienen muss, was natürlich heißt, dass auch genauso viele Threads laufen.
Ab einem gewissen Punkt wird aber der Overhead für die Verwaltung der Threads so groß, dass sich Threads nicht mehr lohnen.
Jeder Thread ruft in einer Schleife die Methode
NetworkStream.Read auf. Diese kehrt erst zurück, wenn tatsächlich Daten gelesen wurden.
Nun die eigentlichen Fragen:
Wie viele gleichzeitige Threads sind vernünftig?
Welche Möglichkeiten gibt es sonst noch?
Verbraucht ein Thread überhaupt Ressourcen, wenn er mit NetworkStream.Read beschäftigt ist?
Gruß
xaromz