• 使用asyncio


    asyncio

    example1:

    def generate():
        print("1")
        yield 2
        print("3")
        yield 4
    a = generate()
    print(a)
    
    
    <generator object generate at 0x0000013834675AC8>
    

    结论:
    创建生成器时,里面的代码不会执行。

    example2:

    def generate():
        print("s1")
        yield 2
        print("s3")
        yield 4
    a = generate()
    print(a.send(None))
    
    s1
    2
    

    结论:
    使用send调用一次生成器,它会执行到第一个yield,并且send方法的返回值就是yield返回的值。

    这个特性实现非阻塞io原理:

    前提

    1. 用户知道哪些是io操作,也就是知道那个函数是io函数,比如read,send 这种
    2. 用户知道什么时候io操作结束,有结果返回
  • 相关阅读:
    AGC005D ~K Perm Counting
    运行python脚本后台执行
    java枚举类型
    java可变参数长度
    java 泛型数组列表
    java抽象类
    java final使用
    java继承
    java 对象
    java 重载
  • 原文地址:https://www.cnblogs.com/oaks/p/16093674.html
Copyright © 2020-2023  润新知