I/O 密集型任务(I/O-bound tasks)指的是那些主要受限于输入/输出操作速度,而不是 CPU 处理能力的任务。这类任务通常涉及到等待外部资源,例如文件系统、网络、数据库等。与 CPU 密集型任务不同,I/O 密集型任务在等待 I/O 操作完成时,CPU 大部分时间是空闲的,因此可以利用并发来提高效率。
常见的 I/O 密集型任务
- 文件读写操作:
- 读取大文件或写入大量数据到文件。
- 网络请求:
- 发起 HTTP 请求并等待响应。
- 处理 WebSockets 或其他实时通讯。
- 数据库操作:
- 执行查询或更新操作并等待数据库响应。
- 用户输入:
- 等待用户通过控制台或 GUI 界面输入数据。