我完全和节点和线程之间的差异混淆。现在在httpd文档中,他们说他们创建了一个主进程,它创建了一个子进程,该进程又保持了固定数量的线程。与node.js混淆VS apache HTTPD
线程池的工作方式与Apache的预分配类似。在程序启动时创建线程块,然后平均分配工作负载。 当连接数比线程多时,新连接有 需要等待。但另一方面,您可以节省创建线程的成本。
现在我怀疑这是因为线程可以与共享内存运行,为什么不能创建任何数量的线程?
说到节点。节点完全是事件驱动的。基本上,服务器由一个线程处理一个接一个事件组成。一个新的请求进入是一种事件。服务器开始处理它,当有一个阻塞的IO操作时,它不会等到它完成,而是注册一个回调函数。然后服务器立即开始处理另一个事件(也许是另一个请求)。当IO操作完成时,这是另一种事件,并且服务器通过一有时间就执行回调来处理它(即继续处理请求)。
现在,如果节点不创建新的线程,那么它如何接受新的请求。
为什么java标签? –
http://howtonode.org/understanding-process-next-tick – Damodaran