node.js之---单线程异步非阻塞 I/O

单线程模型

1、Node.js 使用 单线程 来处理客户端请求和执行任务

2、如果遇到异步任务,node.js使用事件循环 和**异步 I/O 模型,**使得它能够高效地处理大量并发请求

异步操作有哪些

1、读取文件

2、网络请求

3、数据库操作等等

异步非阻塞 I/O

Node.js 中的 I/O 操作 (如文件读取、网络请求、数据库查询等)是 异步 的,这意味着这些操作会被立即发起,Node.js 会继续执行其他任务,而不会等待 I/O 操作完成。操作完成后,Node.js 会通过 回调函数(callback)通知应用程序。

  • 异步(Asynchronous):异步操作的特点是调用后不会等待其结果,而是立即返回,继续执行后续代码,待操作完成后再通过回调通知处理结果。
  • 非阻塞(Non-blocking):非阻塞意味着 I/O 操作不会阻塞程序的执行。即使正在执行 I/O 操作,主线程也不会被"卡住",它会继续执行后续代码。

异步非阻塞 I/O的特点

1、非阻塞性

2、异步性

3、提高并发能力

  • 由于 I/O 操作不会阻塞主线程或进程,多个 I/O 操作可以并行执行,不需要为每个请求创建新的线程或进程。这使得系统能够处理大量并发请求,而不会因为 I/O 操作而导致性能下降或资源浪费。
  • 常见于需要处理高并发的场景,如 Web 服务器、数据库查询、实时通信等。

4、节省系统资源

5、事件驱动

  • 异步非阻塞 I/O 操作通常是事件驱动的。应用程序通过事件循环来监听和处理 I/O 操作的完成。当 I/O 操作完成时,操作系统或底层框架会触发事件,程序通过回调函数来处理结果。
  • 这种方式常见于基于事件循环的框架,如 Node.js

6、延迟执行

相关推荐
Rabi'10 小时前
编译ATK源码
前端·webpack·node.js
萌萌哒草头将军11 小时前
AudioDock:服务器和 NAS 音频播放最棒的软件!🚀🚀🚀
服务器·docker·node.js
未知原色12 小时前
web worker使用总结(包含多个worker)
前端·javascript·react.js·架构·node.js
weixin_5316518119 小时前
Node.js Path 模块
node.js
紫小米21 小时前
webpack详解和实操
前端·webpack·node.js
风止何安啊21 小时前
用 10 行代码就能当 “服务器老板”+“网络小偷”+“文件管家”?Node.js:别不信!
前端·javascript·node.js
晨旭缘1 天前
Node.js 后端 CORS 跨域问题终极解决指南
node.js
觅_1 天前
Node.js 异步非阻塞编程模型核心特点
node.js
小北方城市网1 天前
第 9 课:Node.js + Express 后端实战 —— 为任务管理系统搭建专属 API 服务
大数据·前端·ai·node.js·express
Drift_Dream2 天前
Node.js第一课:实现简易的命令行任务管理器
node.js