• 协程


    #gevent  通过greenlet 实现协程, 核心就是遇到IO操作的时候, 相互切换 ,可以省时间,比如说一个程序正在访问, url等待服务器返回, 这个时候cpu是空闲的, 跳转出来做别的事情, 就可以省时间

    from greenlet import greenlet
    import random
    import time

    def Producer():
    while True:
    item = random.randint(0,9)
    print("生产了{}".format(item))
    c.switch(item) #切换到c
    time.sleep(1)

    def consumer():
    print("我先执行")
    while True:
    item = p.switch() #切换到p (p是 Producer), 切的时候返回一个参数,返回一个返回值item
    print("消费了{}".format(item))

    c = greenlet(consumer) #因为是切换到consumer 所以参数是consumer
    p = greenlet(Producer)
    c.switch() #这个是程序的入口, 因为所以先打印 我先执行
  • 相关阅读:
    markdown常用语法
    利用 js-xlsx 实现选择 Excel 文件在页面显示
    HTML中meta标签
    wxpy模块
    Python基础(3)
    Python基础(2)
    Python基础(1)
    Python之递归锁与互斥锁
    Python进程与线程
    Docker
  • 原文地址:https://www.cnblogs.com/yuanjia8888/p/8671042.html
Copyright © 2020-2023  润新知