Amúgy próbáltál már hibát megtalálni MT szerverben?
Napokat el tud vinni, ahelyett, hogy fejlesztenél és valódi munkát végeznél.
MT desktopra amúgy tök jó dolog szerintem.
Eventes cuccokkal az a gond, hogy egy idő után egy istentelen bonyolult állapotgéped lesz, ami totál karbantarthatatlan kódhoz vezet. Sokkal egyszerűbb átlátni egy sima program flow-t.
Egyszerű dolgokra viszont nagyon jók, ha rengeteg párhuzamos kapcsolatot kell kiszolgálni.
Pl. http alapú dolgot csak úgy érdemes csinálni szerintem, hogy egy event alapú szerver (pl. nginx) fogadja a kéréseket és továbbítja a multi process backendeknek. Ezeknek az összes perzisztenciája valamilyen event alapú szerverben (pl. memcached) vagy/és egy jól skálázódó adatbázisban van.
fork() (ill. multi process design) hatalmas előnye még, hogy izolálva vannak egymástól a processek címterei