首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python gevent异步

Python gevent异步
EN

Stack Overflow用户
提问于 2016-09-22 18:08:54
回答 1查看 340关注 0票数 0

当我使用gevent时,它仍然是同步的,并且运行时间不会减少。

下面是我的脚本:

代码语言:javascript
复制
def fun(i):
    p = subprocess.Popen(['./main', 'data.txt'], stdout=PIPE, stderr=PIPE)
    err = p.communicate()[1]
    p.wait()

def synchronous():
    for i in range(1,10):
        fun(i)

def asynchronous():
    threads = [gevent.spawn(fun, i) for i in xrange(10)]
    gevent.joinall(threads)

通过比较%timeit synchronous()%timeit asynchronous(),几乎没有什么变化。'main‘是编译后的c++文件,'data.txt’是'main‘的输入文件。

我想问题是我使用子进程来调用外部例程,但我不知道如何解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2018-03-08 07:22:13

p.wait()

这就是让你的代码同步。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39636180

复制
相关文章

相似问题

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