PythonStudy——gevent 协程

# 实现协程的第二种方式
# 利用gevent 打上monkey补丁
from gevent import monkey
monkey.patch_all()
import gevent
import time
from threading import current_thread,enumerate


def task1():
    print(current_thread(),111)
    print("task1 start ...")
    time.sleep(3)
    print("task1 over ...")

def task2():
    print(current_thread(),222)
    print("task2 start ...")
    time.sleep(1)
    print("task2 over ...")

# spawn用于创建一个协程任务
g1 = gevent.spawn(task1)
g2 = gevent.spawn(task2)


# 任务要执行,必须保证主线程没挂  因为所有协程任务都是主线在执行   ,必须调用join来等待协程任务
# g1.join()
# g2.join()
# 理论上等待执行时间最长的任务就行 , 但是不清楚谁的时间长 可以全部join

gevent.joinall([g1,g2])
print("任务结束...")
原文地址:https://www.cnblogs.com/tingguoguoyo/p/10990787.html