gpt4 book ai didi

python - eventlet 线程不打印输出

转载 作者:太空宇宙 更新时间:2023-11-04 04:42:36 26 4
gpt4 key购买 nike

我是 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)

上面的代码正在执行但没有打印输出?你能告诉我哪里出错了吗,我需要在代码中添加一个“等待”语句吗?

最佳答案

因此,Evenlet 是守护进程,这意味着如果核心代码停止,线程也会停止。如果你想等待,你应该使用事件类:

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()

关于python - eventlet 线程不打印输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50318232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com