yürütmek gevent.joinall Neden Aşağıdaki Python kodu vardır:piton tüm greenlets
Yukarıda görüldüğü gibi>>> 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
gelen uygun bir değer var. Bu, threads[0]
yeşili uygulamasının gerçekleştirildiği anlamına gelir.
Neden bu, yalnızca threads[1]
yeşili gevent.joinall
için geçtiğimde oldu?
Gerçekte yalnızca gevent.joinall
'a iletilen yeşil parçacıkların gerçekleştirildiğinden nasıl emin olabilirim?
'gevent.joinall()', yalnızca yeşil bantların bitmek üzere parametreler olarak geçirilmesini bekler ve ana iş parçacığıyla birleştirir. Bilgimden en iyi şekilde, diğer iş parçacıklarının herhangi birinin yürütülmesini engellemez - yeşil bantlar çalışmayı bitirinceye kadar ana parçacığı çıkarmamasını söyler. –