Python Gevent事件异步操作在Object上的多个函数中

时间:2013-09-25 13:01:19

标签: python gevent

这是我正在使用其输出运行的一段代码:

import gevent
from gevent.event import Event


evt = Event()
In [45]: def op():
   ....:         global x
   ....:         while x<100:
   ....:                 x+=1
   ....:                 gevent.sleep(1)
   ....:                 evt.set()
   ....:

In [46]:

In [46]: def p():
   ....:         global x
   ....:         print 'changing x'
   ....:         x += 20
   ....:         print x
   ....:         evt.wait()
   ....:

In [47]: x = 10


In [48]: gevent.joinall([gevent.spawn(op),gevent.spawn(p)])
changing x
31

In [49]: x
Out[49]: 100

In [50]: x = 2

In [51]: gevent.joinall([gevent.spawn(op),gevent.spawn(p)])
changing x
23

In [52]: x
Out[52]: 100

我正在试图找出如何使用gevent在两个不同的函数/方法上对某个对象(var,func等)进行操作?所以它在一个上运行, 让我们在foo1()中说如果对象等于某个值则转到foo2() foo2对它进行操作,当再次达到某个值X时,它会将其传递回foo1。

但我不清楚如何实施它。有人可以根据我上面的描述给出一些简单实用的代码片段,以便我能理解吗? 提前谢谢!

0 个答案:

没有答案