我是nodejs新手。阅读了几篇文章后,我了解到 NodeJS 是单线程的。我对 Nodejs 如何处理多个客户端请求感到非常惊讶。例如,如果一个用户访问 Node 服务器,其他用户请求必须等待,直到它响应第一个客户端请求。请帮助我了解 Node 在单线程环境中如何工作。
最佳答案
当人们说 Node 是单线程时,他们的意思是只有一个 JavaScript 代码线程正在执行。但这并不意味着没有其他线程在执行。例如,Node 中的大多数 I/O 默认情况下都是异步的,并且会启动其他线程。
我在这个问题中发布了一个图表Thread in an event-driven vs non-event driven web server这显示了这些线程是如何工作的,并且在很大程度上我在该问题中的假设 #4 似乎是正确的。
关于node.js - Nodejs 在提供单线程环境的同时如何处理多个客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20969568/