Web前端之路@IT·互联网WEB前端程序开发

我来回答饿了么大前端的问题(2)

2017-04-27  本文已影响298人  77即是正义

事件/异步

Promise

Events

Events中的emit是同步的,会按照注册顺序来触发监听器。

一个事件监听器中监听同一个事件,会导致死循环?

const EventEmitter = require('events');

let emitter = new EventEmitter();

emitter.on('myEvent', () => {
  console.log('hi');
  emitter.emit('myEvent');
});

emitter.emit('myEvent');
const EventEmitter = require('events');

let emitter = new EventEmitter();

emitter.on('myEvent', function sth () {
  emitter.on('myEvent', sth);
  console.log('hi');
});

emitter.emit('myEvent');

Event Loop

进程

Process

process.nextTick

这个在上面已经分析过了,不赘述。

标准流

Child Process

child_process.forkPOSIXfork 有什么区别?

child.killchild.send 的区别

孤儿进程与僵尸进程

子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程到底什么时候结束。

Cluster

round-robin

其实就是找下一个空闲的 worker,但是我们可以看看 Cluster 的进化过程,从最开始的自由竞争(将引起 惊群效率),将每个连接放到 worker 竞争到由 master 获取连接再进行分配。

进程间通信

Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)

守护进程

通过系统命令:Linux 守护进程的启动方法

通过node:Nodejs编写守护进程

上一篇 下一篇

猜你喜欢

热点阅读