0

次の 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ですか?

4

1 に答える 1