首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >eventlet线程不打印输出

eventlet线程不打印输出
EN

Stack Overflow用户
提问于 2018-05-14 00:26:33
回答 1查看 192关注 0票数 2

我是python线程的新手,尝试过eventlet线程,我写了一个简单的程序,它计算一个数字的平方和立方体,并在上面发出两个eventlet线程。我的代码如下:

代码语言:javascript
运行
复制
    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)

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

EN

回答 1

Stack Overflow用户

发布于 2018-05-14 02:14:28

所以,Evenlet是守护进程,这意味着如果核心代码停止,线程就会停止。如果你想等待,你应该使用event类:

代码语言:javascript
运行
复制
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()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50318232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档