1. 协程是什么?
1.1 定义
- 协程是一种用户级轻量级线程。
- 协程可以在执行过程中暂停,并在稍后恢复执行。
- 协程之间的切换是由程序员控制的,而不是由操作系统调度。
1.2 特点
- 非阻塞:协程可以在等待 I/O 操作完成时让出控制权,从而避免阻塞。
- 并发:多个协程可以同时运行,但实际的并发执行依赖于事件循环(Event Loop)。
- 资源友好:协程比线程更轻量级,占用的系统资源更少。
1.3 备注
- 核心数量: 十核心
- 线程数量: 十六线程
- 二级缓存: 9.5MB
- 三级缓存: 20MB
- 热设计功耗(TDP): 125W
- 最大加速功耗(MTP): 150w
在CPU的参数表里, 可以看到”核心数量” 和 “线程数量” 这两个参数, 而没有”协程数量”。由此可知, “协程之间的切换是由程序员控制的,而不是由操作系统调度”。而多进程和多线程是由操作系统和CPU提供的。
1.4 协程的工作原理
1.4.1 事件驱动
协程通常在一个事件循环(Event Loop)中运行。事件循环负责监听各种事件(如 I/O 完成、定时器到期等),并在事件发生时调度相应的协程。
1.4.2 异步编程
协程使用 await 关键字来挂起当前协程的执行,等待异步操作完成。这允许其他协程在当前协程等待期间继续执行。通过这种方式,协程可以高效地利用单线程的时间片,避免阻塞,提高并发性能。
本站文章除单独注明外均为原创,本文链接https://bowmanjin.com/1097,未经允许请勿转载。
请先
!