|
20鱼币
这段是我的代码
- import gevent
- import time
- def f1(n):
- for i in range(n):
- print(gevent.getcurrent(), i)
- gevent.sleep(1)
- print('ooo')
- def f2(n):
- for i in range(n):
- print(gevent.getcurrent(), i)
- gevent.sleep(4)
- print('kkk')
- def f3(n):
- for i in range(n):
- print(gevent.getcurrent(), i)
- gevent.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()
复制代码
我尝试把join()给注释掉,他的运行结果是只打印了1,2,3,函数里面的什么都没打。我猜想可能是因为gevent.spawn()只创建了greenlet对象,但是并没有执行greenlet的switch方法。但是我再网上查了下,gevent.spawn()的效果是“创建一个普通的Greenlet对象并切换”。请问到底是怎么回事? |
|