多进程Web服务器与多线程Web服务器?

时间:2009-12-31 20:24:11

标签: multithreading webserver multiprocessing

我想知道为什么我们更喜欢使Web服务器多线程

而不是让它成为多进程Web服务器......

是因为遗留问题......

我想听听实际原因以及理论上的原因

2 个答案:

答案 0 :(得分:4)

在* nix上,要启动进程,您需要复制父进程的所有资源。例如,所有父文件描述符都是重复的,并且创建新的存储空间以包含新进程。当流程终止时,一切都必须被拆除。

另一方面,线程基本上只是一个堆栈。很快就能开始和停止。

早期的Web服务器没有使用线程的原因很简单:它们尚未实现。

答案 1 :(得分:1)

线程通常比流程便宜。