| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> JavaScript知识库 -> 普歌-事件循环-发布npm-Stream -> 正文阅读 |
|
|
[JavaScript知识库]普歌-事件循环-发布npm-Stream |
Node的架构分析
阻塞IO和非阻塞IO如果我们希望在程序中对一个文件进行操作,那么我们就需要打开这个文件:通过文件描述
操作系统通常为我们提供了两种调用方式:阻塞时调用和非阻塞式调用:
所以我们开发中的很多耗时操作,都可以基于这样的非阻塞式调用:
非阻塞IO的问题但是非阻塞IO也会存在一定的问题:我们并没有获取到需要读取(我们以读取为例)的结果
那么这个轮训的工作由谁来完成呢?
libuv提供了一个线程池(Thread Pool):
阻塞和非阻塞,同步和异步的区别?阻塞和非阻塞是对于被调用者来说的
同步和异步是对于调用者来说的
Libuv采用的就是非阻塞异步IO的调用方式 Node事件循环的阶段我们在之前就强调过,事件循环像是一个桥梁,是连接着应用程序的JavaScript和系统调用之间的通道:
但是一次完成的事件循环Tick分成很多个阶段:
Node循环事件图解
Node的宏任务和微任务Node的事件循环更复杂,它也分为微任务和宏任务:
但是Node中的事件循环不只是微任务队列和宏任务队列:
接下里通过题来理解一下 ==>??
更多推荐《普歌-事件循环》作者:Cnc_zj |
|
|
| JavaScript知识库 最新文章 |
| ES6的相关知识点 |
| react 函数式组件 & react其他一些总结 |
| Vue基础超详细 |
| 前端JS也可以连点成线(Vue中运用 AntVG6) |
| Vue事件处理的基本使用 |
| Vue后台项目的记录 (一) |
| 前后端分离vue跨域,devServer配置proxy代理 |
| TypeScript |
| 初识vuex |
| vue项目安装包指令收集 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/27 22:10:42- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |