子进程

相关链接

事件

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

nodejs 中两种流的分类

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中,可避免主进程阻塞
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容