多进程网络服务器与多线程网络服务器?

Oma*_*mar -2 webserver multithreading multiprocessing

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

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

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

我想听听实际原因和理论原因

Ric*_*ton 5

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

另一方面,线程本质上只是一个堆栈。启动和停止非常快。

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