Node.js 开发实战
杨浩
腾讯高级工程师
37442 人已学习
新⼈⾸单¥68
课程目录
已完结/共 57 讲
第一章:课程简介 (5讲)
Node.js 开发实战
登录|注册
留言
32
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 13 | 异步:非阻塞I/O
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | Node.js是什么?
04 | Node.js可以用来做什么?
05 | 课程实战项目介绍
06 | 什么是技术预研?
07 | Node.js开发环境安装
08 | 第一个Node.js程序:石头剪刀布游戏
09 | 模块:CommonJS规范
10 | 模块:使用模块规范改造石头剪刀布游戏
11 | 模块:npm
12 | 模块:Node.js内置模块
13 | 异步:非阻塞I/O
14 | 异步:异步编程之callback
15 | 异步:事件循环
16 | 异步:异步编程之Promise
17 | 异步:异步编程之async/await
18 | HTTP:什么是HTTP服务器?
19 | HTTP:简单实现一个HTTP服务器
20 | HTTP:实现网页版石头剪刀布
21 | HTTP:用express优化石头剪刀布游戏
22 | HTTP:用koa优化石头剪刀布游戏
23 | RPC 调用:什么是RPC调用?
24 | RPC调用:Node.js Buffer编解码二进制数据包
25 | RPC 调用:Node.js net建立多路复用的RPC通道
26 | 项目启动:整体需求分析
27 | 项目启动:极客时间App下载页开发
28 | 课程详情页:极客时间详情页需求解构
29 | 课程详情页:将ES6模版字符串改造成模板引擎
30 | 课程详情页:极客时间详情页需求实现
31 | 课程播放页:极客时间播放页需求解构
32 | 课程播放页:GraphQL API服务
33 | 课程播放页:极客时间播放页需求实现
34 | 课程列表页:极客时间列表页需求解构
35 | 课程列表页:用 Vue/React 进行服务端渲染
36 | 课程列表页:极客时间列表页需求实现
37 | 性能工具:HTTP服务的性能测试
38 | 性能工具:Node.js性能分析工具
39 | 代码优化:JavaScript代码性能优化
40 | 代码优化:内存管理优化
41 | 代码优化:Node.js C++插件
42 | 多进程优化:Node.js子进程与线程
43 | 多进程优化:Node.js cluster模块实战与源码解读
44 | 多进程优化:进程守护与管理
45 | 架构优化:动静分离
46 | 架构优化:反向代理与缓存服务
47 | 概念:框架设计和工程化
48 | 概念:设计模式
49 | 概念:Serverless
50 | 服务端框架搭建:koaless
51 | 服务端框架搭建:屏蔽请求细节
52 | 服务端框架搭建:完成服务端框架
53 | 云函数式工程实现:服务端代码
54 | 云函数式工程实现:工具端代码
55 | 加餐:调试 Node.js 源码
56 | 结课测试&结束语
57 | 彩蛋:这是一个严肃的课程
本节摘要
登录 后留言

全部留言(32)

  • 最新
  • 精选
沉默的话唠
讲的很生动,非阻塞I/O算是理解了,但是感觉非阻塞和异步的理解很相近,感觉记得有点混乱。可以理解非阻塞I/O也属于异步方式么。

作者回复: 异步一般指的是编程的方式。非阻塞IO是底层机制的名字。我个人平时工作也不会太区分这两个词,反正知道这个概念的人能懂就行。

2019-10-06
2
9
Geek_East
两个例子,我觉得可以稍稍clear一下: 给写单的饭堂阿姨是阻塞的;一个服务生一次没有办法给很多桌点菜,其实也应该是阻塞的; 如果是多个服务生,对于服务生这个群体来说,是非阻塞的

作者回复: 你分析的点也有道理。其实不管怎么去思考确实总有一个步骤是阻塞的,就正如异步程序最后无论如何还是得进行cpu运算一样。 所以就要宏观点看。我们看的不是写单这个步骤,而是写单+等菜+上菜这个流程。

2019-11-10
2
5
seebin
非阻塞是不是可以在某种程度上可以理解为多线程?

作者回复: 可以的,底层确实是用线程实现的。只是线程不被暴露出来给开发者控制。

2019-10-30
4
追忆似水年华
一点小意见:课件貌似是在Mac下做的,后面是否可以关闭Mac的校对功能,把那个红色的下划波浪线去掉?有点强迫症,哈哈

作者回复: 好的,会关掉的!

2019-10-03
4
刘延平
可以说非阻塞io是node处理并发请求的方法吗?

作者回复: 是

2019-10-06
3
🍐 🍾 🔆
异步的情况获取的执行时间,这时候获取文件路径的方法还没执行完呢,这样获取的时间有什么作用呢

作者回复: 但是在这个比较短的时间过去之后,就已经可以执行其他操作了。而不需要等获取文件完成。 如果只是从处理一个请求的角度来看,这样并不会变快。但是想一想如果是并发处理很多个请求,这样的机制就能节省非常多时间。

2019-10-03
3
拒绝遗憾
老师您好,想请问一下,既然非阻塞IO优势这么大,为什么还同时存在阻塞的调用方式和非阻塞的调用方式,阻塞IO的调用有什么自己的特点吗,我看node的API很多都是同时存在同步和异步的调用方法

作者回复: 同步阻塞的方式更符合人脑的思考方式,出bug的概率也会比较低。

2020-07-18
2
流觞曲水
老师,非阻塞I/o是否可以多线程

作者回复: 可以的,libuv就是用线程池实现的

2019-11-08
2
马克豚
我想问下老师。 按理来说,异步操作会后执行,console.time如何统计这个异步操作运行的时间的? 按照我的理解,console.time统计到的时间应该是0或者很短毫秒数。

作者回复: 从代码上来说如果你把console.timeEnd放在异步操作的回调函数里执行,拿到的就是异步操作运行的时间。 如果只是放在开始执行异步操作的代码下一行,就是你说的情况。

2020-05-14
1
百炼钢
这节讲的太好了!赞!

作者回复: 谢谢!

2020-04-29
1
收起评论