问一个小白的问题,nodejs是单线程的,可是为什么支持开启子进程?


这个问题可能显得很小白,可是我还是不太懂,网上说到nodejs大多是单线程,异步回调,IO非阻塞云云,感觉说的很有道理的样子,也能看进去一点,可是还是很迷茫。从学校学到知识线程是基于进程的。说nodejs是单线程,可是他有child_process支持开启子进程,这不就是多进程吗?多进程不就是意味着多线程?...

小白一个,求解释啊

node.js 线程 非阻塞 进程 i-o

幽幽子的冬 10 years, 6 months ago
  1. 单线程还是多线程一般是指单个进程内只有一个线程还是有多个;
  2. nodejs 进程本身并不只有一个线程,我这里 node v0.10.26 只开解释器会有两个线程;
  3. 说 nodejs 是单线程是从使用角度说的,通常的 nodejs 程序写起来就好像只有一个线程在跑(不管底层实际上有几个线程在工作);
  4. nodejs 程序通常是单进程的,很少会使用「多进程」模式,即开启多个进程协同工作。这并不意味着 nodejs 没有开启多个进程的能力。
不分昼夜的小弗 answered 10 years, 6 months ago

Your Answer