T
tuxedo
Gast
Hallo zusammen,
die klassiche vorgehensweise bei Serverprogrammen ist ja, jeden Client der sich andockt, in einen eigenen thread zu stecken.
Dies wäre dann ein Threaded-Server....
Aber es gibt auch "Non-Threaded-Server"...
Laut diversen Quellen im Netz sind die zwar "etwas" langsamer, aber man muss sich weniger bzw keine Gedanken bzgl der Synchronisation machen. Auch wäre es hier einfacher eine "Momentaufnahme" des Systems zu machen. Fehleranayse müsste so um ein vielfaches einfacher sein...
Trotz dass diese Technik etwas langsamer zu sein schein kann sie sooo schlecht nicht sein. Schließlich arbeitet unter anderen der Apache-Webserver nach diesem Model (wenn man nicht zufällig ein anderes MPM-Modul benutzt).
Jetzt hat sich mir die Frage gestellt:
Wie sieht so ein non-threaded Server denn aus ?
Clientanfragen müssen ja irgendwie in eine Reihe gestellt und nacheinander abgearbeitet werden. So stell ich mir das zumindest vor.
Aber wie macht man sowas am geschicktesten?
Ich hab google gefragt, in diversen Dev-Seiten geblättert und bin nicht fündig geworden... Überal steht nur dass es sowas gibt, aber ein Beispiel oder eine tiefergehende Erklärung hab ich nicht gefunden.
Kennt jemand ne Seite auf der sowas prinzipiell erklärt ist? Codebeispiele (auch im Pseudocode) wären auch sehr interessant.
Einen konkreten verwendungszweck für einen non-threading-server hab ich zwar noch nicht, aber vielleicht verwend ich das dann ja im nächsten Client-Server-Programm
Gruß
Alex
die klassiche vorgehensweise bei Serverprogrammen ist ja, jeden Client der sich andockt, in einen eigenen thread zu stecken.
Dies wäre dann ein Threaded-Server....
Aber es gibt auch "Non-Threaded-Server"...
Laut diversen Quellen im Netz sind die zwar "etwas" langsamer, aber man muss sich weniger bzw keine Gedanken bzgl der Synchronisation machen. Auch wäre es hier einfacher eine "Momentaufnahme" des Systems zu machen. Fehleranayse müsste so um ein vielfaches einfacher sein...
Trotz dass diese Technik etwas langsamer zu sein schein kann sie sooo schlecht nicht sein. Schließlich arbeitet unter anderen der Apache-Webserver nach diesem Model (wenn man nicht zufällig ein anderes MPM-Modul benutzt).
Jetzt hat sich mir die Frage gestellt:
Wie sieht so ein non-threaded Server denn aus ?
Clientanfragen müssen ja irgendwie in eine Reihe gestellt und nacheinander abgearbeitet werden. So stell ich mir das zumindest vor.
Aber wie macht man sowas am geschicktesten?
Ich hab google gefragt, in diversen Dev-Seiten geblättert und bin nicht fündig geworden... Überal steht nur dass es sowas gibt, aber ein Beispiel oder eine tiefergehende Erklärung hab ich nicht gefunden.
Kennt jemand ne Seite auf der sowas prinzipiell erklärt ist? Codebeispiele (auch im Pseudocode) wären auch sehr interessant.
Einen konkreten verwendungszweck für einen non-threading-server hab ich zwar noch nicht, aber vielleicht verwend ich das dann ja im nächsten Client-Server-Programm
Gruß
Alex