Einzelner TCP / IP-Server, der mehrere Clients verwaltet (in C ++)?

Ich möchte einen TCP / IP Server in C ++ schreiben (mitbind(), accept() etc.), die mehrere Clients gleichzeitig verbinden können. Ich habe ein paar Themen dazu gelesen und alle schlagen Folgendes vor (schmutziger Pseudocode kommt auf):

set up server, bind it

while (1) {
    accept connection
    launch new thread to handle it
}

Was auf einer Maschine mit mehreren Threads völlig in Ordnung wäre. Mein Zielsystem ist jedoch ein Single-Core-Rechner ohne Hardware-Threads. Für einen kleinen Test habe ich versucht, mehrere Threads über zu startenstd::thread auf dem System wurden sie aber nacheinander ausgeführt. Keine parallele Güte :(

Das macht es unmöglich, den obigen Algorithmus zu implementieren. Ich meine, ich bin mir sicher, dass es möglich ist, ich weiß nur nicht wie, also wäre ich für jede Hilfe sehr dankbar.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage