您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:从Gevent Greenlet获得价值

5b51 2022/1/14 8:21:46 python 字数 2113 阅读 528 来源 www.jb51.cc/python

我正在学习Gevent,但无法获得greenlet中调用的函数返回的值.以下代码:import gevent.monkey gevent.monkey.patch_socket() import gevent from gevent import Greenlet import urllib2 import simplejson as json def

概述

我正在学习Gevent,但无法获得greenlet中调用函数返回的值.以下代码

import gevent.monkey
gevent.monkey.patch_socket()

import gevent
from gevent import Greenlet

import urllib2
import simplejson as json

def fetch(pid):
    response = urllib2.urlopen('http://time.jsontest.com')
    result = response.read()
    json_result = json.loads(result)
    datetime = json_result['time']

    print('Process %s: %s' % (pid,datetime))
    return json_result['time']

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

def asynchronous():
    threads = [Greenlet.spawn(fetch,i) for i in range(10)]
    result = gevent.joinall(threads)
    print [Greenlet.value(thread) for thread in threads]

print('Synchronous:')
synchronous()

print('Asynchronous:')
asynchronous()

给我错误

print [Greenlet.value(thread) for thread in threads]
AttributeError: type object 'Greenlet' has no attribute 'value'

我做错了什么,如何从每个greenlet中获取价值?

def asynchronous():
    threads = [Greenlet.spawn(fetch,i) for i in range(10)]
    result = gevent.joinall(threads)
    print [thread.value for thread in threads]

总结

以上是编程之家为你收集整理的Python:从Gevent Greenlet获得价值全部内容,希望文章能够帮你解决Python:从Gevent Greenlet获得价值所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶