Multi-threading

Modelle:
Forkmodell
Bei jedem Eintreffen einer Nachricht wird geforkt.
Alternativ könnte man je Realm oder im Realmtyp angeben ob geforkt werden soll oder nicht.

Ascend-radiusd, die meisten TCP/IP-Daemons

Poolmodell
Ein Meister nimmt die Nachrichten entgegen und kontrolliert einen Pool von Arbeitern

Apache WWW-Server

Der Radiusd von Ascend arbeitet nach dem forkmodell, führt aber eine Liste der Arbeiter, und eliminiert doppelte Anforderungen. In der Signalbehandlungsroutine sigcleanup wird die Anforderung aus der Liste als beendet markiert.

Parameter:

MAX_REQUESTS
Maximale Zahl von zulässigen Prozessen
CLEANUP_DELAY
Zeit bis element aus der Liste gelöscht wird
MAX_REQUEST_TIME
Wenn nach dieser Zeit der Arbeiter nicht fertig ist, bekommt der Prozeß ein Signal ...