#1 2. Mai 2009 Sockets | Threads vs. Select Hey... Ich beschäftige mich gerade ein wenig mit Sockets. Bin jetzt soweit das es ja zwei arten von non blocking Threads gibt. Einmal mittels Threads zum andern per Select, wollte jetzt mal wissen was besser is? Select oder Threads? Oder evtl hab ich auch etwas falsch verstanden dann klärt mich bitte auf =) + Multi-Zitat Zitieren
#2 2. Mai 2009 AW: Sockets | Threads vs. Select Es wäre ziehmlich unperformant pro Socket einen Thread zu erstellen, außerdem würde der Socket dann innerhalb des Threads blocken, was auch nicht sinnvoll ist. select ist immer die bessere Wahl, da es nicht blockiert und bei Aktivitäten bescheid gibt, außerdem kannst du einen Timeout mit angeben, etc. + Multi-Zitat Zitieren
#3 2. Mai 2009 AW: Sockets | Threads vs. Select Also select() ist da eindeutig die bessere Wahl. Zumindestens fällt mir kein Fall ein bei dem Threads von Vorteil sein könnten. Das Problem bei Threads ist einfach, dass du einen erheblichen Aufwand treiben müsstest damit die Threads vernüntig miteinander kommunizieren können. Wenn du einen Zentralen "Thread"/Prozess hast über den alles läuft, dann hast du diesen Verwaltungsaufwand einfach nicht. Zudem kannst du mit select() auf einmal mehrere mögliche Statusänderüngen des Sockets überwachen. Also neben lese- auch Schreibzugriffe. Threads solltest du meiner Meinung nach allerdings benutzten wenn die bi-direktionale Kommunikation mit dem Verbindungspartner abgeschlossen ist und Datenpakete nur noch gesendet oder empfangen werden müssen. Typisches Beispiel: Webserver. Nachdem die HTTP-Anfrage interpretiert wurde, ist (erstmal) keine "Absprache" mit dem Client mehr nötig sondern es müssen einfach nur noch die Daten übermittelt werden. Grüße + Multi-Zitat Zitieren