MT nagyon szép elméletben, meg az egyszálas event alapú cuccok is (epoll, kqueue és társai).
Szerveres környezetben viszont ezek kifejezetten a rémálom kategóriában vannak, főleg ha gyakran kerülnek új funkciók egy kódba vagy hirtelen kell skálázódnia a rendszernek mondjuk 10 gépre.
MT-vel az a baj, hogy egy teszteletlen új funkcióban lévő hiba képes az egész szervert megakasztani vagy akár el is száll. Eventes design ugyanez, csak az még átláthatatlan is egy bizonyos bonyolultság felett. Ha kombinálod is a kettőt még rosszabb. Ráadásul ilyen környezetben egy programozó automatikusan kihasználja a perzisztens memóriát és a rendszer teljesen használhatatlan lesz, amint már nem elég neki egyetlen gép és szét kéne dobni többre.
fork()-os multi processz szerverekkel semmi ilyesmi gond nincs.
fork() helyett lehet persze más is, csak akkor gyalog kell átadni a child-nak azokat a dolgokat, amiket fork() hívással automatikusan megörököl (file descriptorok, konfiguráció, stb.).