我是python线程的新手,尝试过eventlet线程,我写了一个简单的程序,它计算一个数字的平方和立方体,并在上面发出两个eventlet线程。我的代码如下:
import eventlet
eventlet.monkey_patch()
def square(num):
print "square={}".format(num*num)
def cube(num):
print "square={}".format(num*num*num)
t1 = eventlet.spawn_n(square, 10)
t2 = eventlet.spawn_n(cube, 10)上面的代码正在执行,但没有打印输出?你能建议我哪里出错了吗?我需要在代码中添加一个“等待”句号吗?
发布于 2018-05-14 02:14:28
所以,Evenlet是守护进程,这意味着如果核心代码停止,线程就会停止。如果你想等待,你应该使用event类:
import eventlet
from threading import Event
eventlet.monkey_patch()
se=Event()
def square(num):
print( "square={}".format(num * num))
se.set()
sc=Event()
def cube(num):
print( "square={}".format(num * num * num))
sc.set()
t1 = eventlet.spawn_n(square, 10)
t2 = eventlet.spawn_n(cube, 10)
se.wait()
sc.wait()https://stackoverflow.com/questions/50318232
复制相似问题