# 实现协程的第二种方式 # 利用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("任务结束...")