子进程

相关链接

  • 子进程
  • 事件

事件

  1. 经典回掉形式
  • 函数最后一个参数是cb
  • errorcb第一个参数
  1. Promise形式
  2. async/await
  • try/catch的使用
  • 支持带Promise实现的异步,比如setTimeout是不支持的
  1. 事件的同步和异步其实是结合上述形式实现的
  2. 事件按注册顺序触发,有一个prependListener方法,记得removeListener方法

nodejs 中两种流的分类

子进程_第1张图片
nodejs_stream.png
  1. readableSrc.pipe(writableDesc)
  2. 使用流推荐的两种方式
  • pipe,如果流是duplex或者transform则还支持链式
  • 事件
  1. 流的事件和方法
  • readableSrcdataend, 方法有read,unshift,resume
  • writableDescdrainfinish, 方法有write
  1. readable stream有两种模式
  • paused
  • flowing
  1. 实现流,它们都有一些需要定义的方法
  • 实现readable流,read
  • 实现writable流,write
  • 实现 duplex流,readwrite
  • 实现transform流,transform
    • zlib实现压缩
    • crypto实现加密
    • 单词cipherencrypt

spawn

  1. LinuxmacOS上可以直接运行命令,在windows上需要设置shell: true,编写跨平台spawn
  2. exec差别
  • exec缓存命令的输出
  • spawn使用流的方式
  1. 子进程独立于主进程

fork

  1. 通信频道建立于子频道,主进程和子进程通过事件机制通信,将大量耗时操作移动到fork中,可避免主进程阻塞

你可能感兴趣的:(子进程)