次の Python コードがあります。
>>> import gevent
>>> from gevent import monkey; monkey.patch_all()
>>>
>>> def fooFn(k):
... return 'gevent_'+k
...
>>> threads = []
>>> threads.append(gevent.spawn(fooFn,'0'))
>>> threads.append(gevent.spawn(fooFn,'1'))
>>>
>>> gevent.joinall([threads[1]])
>>>
>>> print threads[1].value
gevent_1
>>> print threads[0].value
gevent_0
>>>
上記のように、threads[0].value
から適切な値を取得しましたfooFn
。これはthreads[0]
greenlet が実行されたことを意味します。
threads[1]
greenletだけを に渡したときに、なぜこれが起こったのgevent.joinall
ですか?
実際に渡されたグリーンレットのみが実行されるようにするにはどうすればよいgevent.joinall
ですか?