day42

1.Event事件

Event事件的作用:

  • 用来控制线程的执行.
  • 由一些线程去控制另一些线程.

2.进程池与线程池

1)什么是进程池与线程池?

进程池与线程池是用来控制当前程序允许创建(进程/线程)的数量.

2)进程池与线程池的作用:

保证在硬件允许的范围内创建 (进程/线程) 的数量.

3.协程

进程: 资源单位

线程: 执行单位

协程: 在单线程下实现并发

注意:

协程不是操作系统资源,他是程序起的名字,为让单线程能实现并发.

协程的目的:

操作系统:

多道技术, 切换 + 保存状态

  1. 遇到IO
  2. CPU执行时间过长

协程:

通过手动模拟操作系统 "多道技术",实现 切换 + 保存状态
1)手动实现 遇到IO切换, 欺骗操作系统误以为没有IO操作.

单线程 遇到IO, 切换 + 保存状态

单线程 计算密集型, 来回切换 + 保存状态是,反而效率更低

优点:

在IO密集型的情况下, 会提高效率.

缺点:

若在计算密集型的情况下, 来回切换, 反而效率更低.

如何实现协程: 切换 + 保存状态

yield: 保存状态

并发: 切换

posted @ 2019-10-28 19:28  Isayama  阅读(115)  评论(0编辑  收藏  举报