Python 使用gevent实现多任务

import gevent
import time
# 如果需要默认的 time.sleep(0.5) 需要打补丁
from gevent import monkey
monkey.patch_all()


def f1(n):
    for i in range(n):
        print(gevent.getcurrent(), i)
        # gevent.sleep(0.5)
        time.sleep(0.5)


def f2(n):
    for i in range(n):
        print(gevent.getcurrent(), i)
        # gevent.sleep(0.5)
        time.sleep(0.5)


def f3(n):
    for i in range(n):
        print(gevent.getcurrent(), i)
        # gevent.sleep(0.5)
        time.sleep(0.5)


print("------1------")
g1 = gevent.spawn(f1, 5)
print("------2------")
g2 = gevent.spawn(f2, 5)
print("------3------")
g3 = gevent.spawn(f3, 5)
print("------4------")
g1.join()
g2.join()
g3.join()

 

posted @ 2019-08-13 22:19  李道臣  阅读(580)  评论(0编辑  收藏  举报