Python进阶阶段,如何掌握第25个协程技巧?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4605个文字,预计阅读时间需要19分钟。
“协程定义+协程(Coroutine)+又称为微线程,称纤程。协程是一种用户态的轻量级线程。(作用:在执行A+函数的时候,可以随时中断,去执行B+函数,然后继续执行A+函数。(可以“)
协程的定义协程(Coroutine),又称微线程,纤程。(协程是一种用户态的轻量级线程)
作用:在执行 A 函数的时候,可以随时中断,去执行 B 函数,然后中断B函数,继续执行 A 函数 (可以自动切换),但这一过程并不是函数调用(没有调用语句),过程很像多线程,然而协程只有一个线程在执行
通俗的理解:在一个线程中的某个函数,可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另外一个函数中执行,注意不是通过调用函数的方式做到的,并且切换的次数以及什么时候再切换到原来的函数都由开发者自己确定
在实现多任务时, 线程切换从系统层面远不止保存和恢复 CPU上下文这么简单。 操作系统为了程序运行的高效性每个线程都有自己缓存Cache等等数据,操作系统还会帮你做这些数据的恢复操作。 所以线程的切换非常耗性能。但是协程的切换只是单纯的操作CPU的上下文,所以一秒钟切换个上百万次系统都抗的住。
本文共计4605个文字,预计阅读时间需要19分钟。
“协程定义+协程(Coroutine)+又称为微线程,称纤程。协程是一种用户态的轻量级线程。(作用:在执行A+函数的时候,可以随时中断,去执行B+函数,然后继续执行A+函数。(可以“)
协程的定义协程(Coroutine),又称微线程,纤程。(协程是一种用户态的轻量级线程)
作用:在执行 A 函数的时候,可以随时中断,去执行 B 函数,然后中断B函数,继续执行 A 函数 (可以自动切换),但这一过程并不是函数调用(没有调用语句),过程很像多线程,然而协程只有一个线程在执行
通俗的理解:在一个线程中的某个函数,可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另外一个函数中执行,注意不是通过调用函数的方式做到的,并且切换的次数以及什么时候再切换到原来的函数都由开发者自己确定
在实现多任务时, 线程切换从系统层面远不止保存和恢复 CPU上下文这么简单。 操作系统为了程序运行的高效性每个线程都有自己缓存Cache等等数据,操作系统还会帮你做这些数据的恢复操作。 所以线程的切换非常耗性能。但是协程的切换只是单纯的操作CPU的上下文,所以一秒钟切换个上百万次系统都抗的住。

