【发布时间】:2012-12-12 09:45:21
【问题描述】:
我想知道 Node 如何处理连接。我的意思是:当我跑步时……
node myserver.js
...我提出一个请求,Node 是做什么的?
我做了一个测试。我有一个运行 socket.io 的服务器。我在浏览器中打开了两个选项卡,用于建立 WebSockets 连接。我检查了线程(ps -eLf),我总是运行相同的 6 个线程:
node 12837 12518 12837 1 6 22:29 pts/0 00:01:10 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js
node 12837 12518 12838 0 6 22:29 pts/0 00:00:00 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js
node 12837 12518 12839 0 6 22:29 pts/0 00:00:14 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js
node 12837 12518 12840 0 6 22:29 pts/0 00:00:14 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js
node 12837 12518 12841 0 6 22:29 pts/0 00:00:14 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js
node 12837 12518 12842 0 6 22:29 pts/0 00:00:14 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js
我问这个是因为我想了解阻塞代码实际上阻塞了什么。
【问题讨论】:
-
你在说什么“阻塞代码”?
-
“非阻塞”和“多线程”不是同一个意思。
-
你是在问
cluster是如何提供连接的吗? -
阻塞代码是指同步函数。而我真正想知道的是:阻塞代码会阻塞所有连接的服务器吗?
标签: node.js http asynchronous socket.io serverside-javascript