【问题标题】:How nodejs handles multiple client while it provides single threaded environment [duplicate]nodejs如何在提供单线程环境的同时处理多个客户端[重复]
【发布时间】:2014-01-07 10:43:24
【问题描述】:

我是 nodejs 的新手。在阅读了几篇文章后,我了解到 nodejs 是单线程的。我对 nodejs 如何处理多个客户端请求感到非常惊讶。例如,如果一个用户点击节点服务器,其他用户请求必须等到它响应第一个客户端请求。请帮助我了解节点在单线程环境中的工作原理。

【问题讨论】:

  • 我与电话调度员的类比:stackoverflow.com/questions/17822943/…
  • Internet 上已有许多资源详细介绍了该主题。
  • 谢谢大家,我先用谷歌搜索,但很遗憾我得到了一张清晰的照片,所以决定放在这里。

标签: node.js


【解决方案1】:

当人们说 Node 是单线程的时,他们的意思是只有一个 JavaScript 代码线程正在执行。但这并不意味着没有其他线程正在执行。例如,Node 中的大多数 I/O 默认情况下是异步的,这会启动其他线程。

我在这个问题Thread in an event-driven vs non-event driven web server 中发布了一张图表,显示了这些线程是如何工作的,并且在大多数情况下,我在该问题中的假设 #4 似乎是正确的。

【讨论】:

  • 谢谢赫克托。这是一个很棒的帖子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-10
  • 2013-11-17
  • 1970-01-01
  • 1970-01-01
  • 2016-04-27
  • 2014-04-12
相关资源
最近更新 更多