• 协程


    协程:非抢占式,由代码控制切换,非操作系统强制控制切换

    生成器:

    def f():

      print("ok")

      s=yield 6  用于保存并返回当前的执行状态。

      print(s)

      print("ok2")

      yield

    gen=f()  函数中加上yield再执行函数,就变成了一个生成器对象,对于生成器,必须调用next()函数才能执行生成器里面的内容,单纯 f()不执行里面的内容,因为此时已经不是一个函数了,变成了生成器,必须调用next()函数

    print(gent) ---> <generator object f at    0x000000000000....>,这里返回的是一个生成器的对象

    res=next(gen) 这里是生成器对象开始执行,遇到yield就停止,返回yield的值,print(yield)-->返回yield后面的6

    程序执行代码 next(gen) 运行结果就是 print("ok")  next()方法让让生成器往下执行了一步,打印出了ok

    gen.send(5)  #send()方法 ,也可以跟生成器进行交互 将5赋值给第一个yield,

    此时print(s)----->打印的值是5

    协程 (coroutine),又叫微线程:l0

    def consumer(name):

      print("------>ready to eat baozi")

      baozi = yield

      print("")

  • 相关阅读:
    汉语-词语:心性
    CE-计算机系统:并行处理
    CE-操作系统:程序并发执行
    CE-计算机系统:单道批量处理系统
    CE-计算机系统:多道程序
    CE-计算机系统:并行性
    生活灵感汇总
    【剑指Offer】俯视50题之21
    Single Number II
    汉诺塔
  • 原文地址:https://www.cnblogs.com/wsnan/p/11735760.html
Copyright © 2020-2023  润新知