协程基础

协程

  1. 进程:资源单位
  2. 线程:执行单位
  3. 协程:在单线程下实现并发

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

1、为什么要用协程

  • 操作系统

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

    1. 遇到IO
    2. CPU执行时间过长
  • 协程:

    通过手动模拟操作系统“多道技术”,实现 切换+保存状态

    手动实现 遇到IO切换,欺骗操作系统误以为没有IO操作。

    • 单线程 遇到IO,切换 + 状态保存
    • 单线程 计算密集型,来回切换 + 保存状态时,反而效率更高

    优点:

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

    缺点:

    ​ 若在计算密集型的情况下,会降低效率。

2、如何实现协程

切换 +保存状态

  • yield:保存状态
  • 并发:切换
posted @ 2019-10-24 21:30  Donner  阅读(110)  评论(0编辑  收藏  举报