个人对node线程操作的理解。

1.首先队列中按顺序存放代码,代码类型有 异步非io代码同步代码异步io代码 三种。

2.主线程安装队列顺序遍历代码,异步代码放在队列后面,先执行同步代码。

3.执行完同步代码后,继续遍历异步代码,遇到异步非io时,先判断能不能操作,不能的话跳过。(例如setTimeout、setInterval这种需要等待时间的代码)

4.遇到异步io时,在线程池中拿出一个子线程(线程池存放事先创建好的线程,等待任务)去执行。

5.主线程继续遍历代码,若子线程执行完异步io代码后,将回调函数放到队列最后。

6.如果异步非io代码能运行了,例如等待时间到了,主线程再去查看,判断里面的代码类型,继续上面的操作



--- 本人对此知识点也掌握不够,先写下大概,如果有误,希望大牛指出。

猜你喜欢

转载自blog.csdn.net/nerosolomon/article/details/79235267