一、Event 事件
Event事件的作用:
- 用来控制线程的执行。
- 由一些线程去控制另一些线程。
二、进程池与线程池
什么是进程池与线程池
进程池与线程池是用来控制当前程序允许创建(进程/线程)的数量。
进程池与线程池的作用
保证在硬件允许的范围内创建(进程/线程)的数量。
如何使用
三、协程
- 进程:资源单位
- 线程:执行单位
- 协程:在单线程下实现并发
注意:协程不是操作系统资源,他是程序起的名字,为让单线程能实现并发。
协程的目的
操作系统
多道技术,切换 + 保存状态
- 遇到IO
- CPU执行时间过长
协程:
通过手动模拟操作系统“多道技术”,实现 切换+保存状态
- 手动实现 遇到IO切换,欺骗操作系统误以为没有IO操作。
- 单线程 遇到IO,切换 + 状态保存
- 单线程 计算密集型,来回切换 + 保存状态时,反而效率更高
优点:
在IO密集型的情况下,会提高效率。
缺点:
若在计算密集型的情况下,会提高效率。
- 手动实现 遇到IO切换,欺骗操作系统误以为没有IO操作。
如何实现协程
切换 +保存状态
- yield:保存状态
- 并发:切换