关于事件循环线程?

时间:2012-12-21 01:17:44

标签: node.js

我知道node.js程序中只能运行一个线程。

如果此线程被阻止,例如,等待键盘输入,它是否仍然可以响应其他事件?

是否有后台事件循环线程来分发事件处理?

1 个答案:

答案 0 :(得分:1)

  

如果此线程被阻止,它仍然可以响应其他事件吗?

它无法立即响应,但希望这些事件在您最终完成阻止时排队等待处理。

  

是否有后台事件循环线程来分发事件处理?

没有后台线程。事件也由“主”(唯一)线程处理。

规则是在node.js中永不阻止。如果某些事情需要时间,则必须通过异步回调来处理它。如果要同时执行CPU繁重的操作,则必须使用多个进程(并在异步回调中接收结果)。

所有这一切的好处是你不必担心同步多个线程(因为只有一个)。这使编程更安全(但你必须习惯于到处回调)。