美文网首页
Node玩转多进程

Node玩转多进程

作者: liu_yh | 来源:发表于2017-03-14 19:12 被阅读0次

    Node带来的优势与需要解决的地方

    Node的优势,擅长处理IO密集型应用,不要关心多线程带来的开辟内存的开销及上下文切换带来的开销。它带来的好处是:不用担心锁、线程同步问题,操作系统在调度的时候也会因为较少的上下文切换,可以很好的提高CPU的利用率。

    Node基于事件驱动实现了高并发,但是随之而来的带来了一些问题。
    问题一:如何保证应用程序的稳定性?
    问题二:如何充分利用多核CPU?

    进程

    应用程序的稳定性,对于所有的处理都共用同一个上下文环境,会影响应用程序的稳定性。
    每个进程占有一个CPU,就可以充分利用多核CPU。Node的事件驱动已经解决的高并发量的问题。而多线程的只是用来充分利用多核CPU。

    Master-Worker模式

    主从模式。主进程和工作进程,主进程不负责具体的业务处理,而是负责调度或者管理工作进程。

    创建子进程

    child_process模块可以创建多个子进程
    四种创建子进程的方法
    1.spawn()
    启动一个子进程来执行命令
    2.exec()
    启动一个子进程来执行命令,有一个回调函数获知子进程的状况
    3.execFile()
    启动一个子进程来执行可执行文件,有一个回调函数获知子进程的状况
    4.fork()
    与spawn()类似,不同点在于它创建Node的子进程只需要指定要执行的javascript文件模块即可

    主从进程之间进行通信

    父进程与子进程之间建立IPC通道
    message 获取信息
    send发送信息
    在发送和获取两个阶段需要注意数据的序列化和反序列化

    相关文章

      网友评论

          本文标题:Node玩转多进程

          本文链接:https://www.haomeiwen.com/subject/trdhnttx.html