美文网首页
协程分步理解

协程分步理解

作者: 再好一点点 | 来源:发表于2018-03-06 21:24 被阅读0次

这几天学习到了协程,说实话真是不太好理解,但是只要坚持看下去, 好像还是可以看明白的.

所以大家不要泄气, 一定要努力想办法慢慢理解.

下面上一个小示例咱们一起研究一下.

执行结果为:

刚开始确实不明白到底是什么意思, 所以就回头重新学习generator(生成器).

果然温故而知新, 再次学习之后了解到了:

        next函数与send函数很相似,都能获得生成器的下一个yield后面表达式的值,不同的是send函数可以向生成器传参并且获得yield后面的表达式的值,但是要使用send函数必须先得到generator, 不然会报错

接下来一步一步的学习具体内容:

1, 首先执行 produce方法,  执行c.send(None)获取generator,执行consumer方法到了第4行, 此时传进去一个None, 返回一个""(空字符串),只不过我们没有接受

2, 继续执行while打印    Producing1...

3,执行c.send(n) 此时接着执行consumer方法, 从第4行继续执行,拿到外部传进去的数字n即1, 第7行打印结果 Consuming1...  ,继续执行第8行r="200 OK",接下来继续执行while, 再次到了yield, 此时返回r的值为"200 OK",此时来到了produce方法的第17行, 打印获取的r的值   Consumerreturn: 200 OK

4,重复执行步骤2, 3

我刚学习Python没多久, 这是我自己的理解, 如果有不对的地方希望大家指正一起学习.谢谢

相关文章

  • 协程分步理解

    这几天学习到了协程,说实话真是不太好理解,但是只要坚持看下去, 好像还是可以看明白的. 所以大家不要泄气, 一定要...

  • 入门-协程(Coroutine)

    使用协程需要引入 1.什么是协程 官方文档(本质上,协程是轻量级的线程。) 个人理解:协程是一个线程框架,协程就是...

  • 理解协程

    一、进程、线程、协程的区别 进程:操作系统中分配资源的基本单位 线程:操作系统中调度资源的基本单位 协程:比线程更...

  • Kotlin协程使用

    目录 协程的用法 协程同步异步请求与Rxjava,原生写法的区别与优势 对于协程的理解 1.协程的用法 在安卓中添...

  • Kotlin协程(入门向)

    最近在学习kotlin的协程,分享一下学习经验! 〇、什么是协程? 官方解释: 协程是轻量级的线程。 个人理解:协...

  • Kotlin协程

    最近在学习kotlin的协程,分享一下学习经验! 〇、什么是协程? 官方解释: 协程是轻量级的线程。 个人理解:协...

  • Generator和协程

    Generator与协程什么是协程协程是一种程序运行的方式,可以理解成“协作的线程”或“协作的函数”。协程既可以用...

  • [libco] 协程栈空间

    协程“栈”空间,有独立栈和共享栈,重点理解一下协程共享栈。 文章来源:[libco] 协程栈空间[https://...

  • Python协程

    最近对Python中的协程挺感兴趣,这里记录对协程的个人理解。 要理解协程,首先需要知道生成器是什么。生成器其实就...

  • Android面试Kotlin高阶篇(八)

    问:你对Kotlin的协程理解 答:协程可以看作是一种轻量级的线程,只不过线程有系统调度,而协程由代码来控制。协程...

网友评论

      本文标题:协程分步理解

      本文链接:https://www.haomeiwen.com/subject/hporfftx.html