CNode

[已解决]事件循环和js执行是不是两个线程?

Hhuangnaiang发布于13 年前最后回复13 年前2 回复5704 浏览0 收藏

原问题: node启动就会进入事件循环,每个tick都会询问各个观察者(如定时器观察者,网络请求观察者)有没有完成的事件需要执行回调。

这个事件循环的线程和js执行的线程不是同一个吧? 不然js会一直被阻塞

答案: 已经想通了。node程序所有逻辑都是在事件循环里面执行的,从程序入口开始就已经是第一个事件的回调函数了。js的执行线程其实就是事件循环的线程

查看回复

回复 (2)

H
halfblood#1·13 年前

是同一个线程。 会不会阻塞要看你在代码中是否写了阻塞式调用。如果你写了阻塞调用,那肯定会阻塞的。 不信你在代码中写个for循环看看

参与回复
登录后即可参与回复。登录