nodejs之child_process

      官方api文档:http://nodejs.cn/api/child_process.html

      众所周知node.js是基于单线程模型架构,这样的设计可以带来高效的CPU利用率,但是无法却利用多个核心的CPU,为了解决这个问题,node.js提供了child_process模块,通过多进程来实现对多核CPU的利用. child_process模块提供了四个创建子进程的函数,分别是spawn,exec,execFile和fork。

      

 上图已经展示了四种方式的不同,但是我们还是会介绍一下他们的区别:

    • spawn : 子进程中执行的是非node程序,提供一组参数后,执行的结果以流的形式返回。
    • execFile:子进程中执行的是非node程序,提供一组参数后,执行的结果以回调的形式返回。
    • exec:子进程执行的是非node程序,传入一串shell命令,执行后结果以回调的形式返回,与execFile 
      不同的是exec可以直接执行一串shell命令。
    • fork:子进程执行的是node程序,提供一组参数后,执行的结果以流的形式返回,与spawn不同,fork生成的子进程只能执行node应用。接下来的小节将具体的介绍这一些方法。

未完。。。

猜你喜欢

转载自www.cnblogs.com/xinsir/p/11884270.html