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